(ECDSA)到已知主机列表。致命:无法读取“https://github.com”的用户名:没有此类设备或地址

时间:2017-01-13 04:21:45

标签: git github amazon-ec2 codeship

我已经在存储库下的代码中配置了github存储库,并在部署下添加了分支。并且

BRANCH_NAME="${CI_BRANCH}"
ROOT_FOLDER="/home/ubuntu/code"
EC2_SERVER="blah@blah.compute.amazonaws.com"
fetch_branch="cd $ROOT_FOLDER && git fetch origin" && echo $fetch_branch
ssh $EC2_SERVER $fetch_branch
pull_branch="cd $ROOT_FOLDER && git checkout $BRANCH_NAME && git pull
origin $BRANCH_NAME" && echo $pull_branch
ssh $EC2_SERVER $pull_branch
ssh $EC2_SERVER "rsync -rvI $ROOT_FOLDER/ /home/ubuntu/www/code/"

但我在部署时发现了Codeship的错误。

enter image description here

1 个答案:

答案 0 :(得分:0)

known_host部分是" info"消息:它通知您,您的~/.ssh/known_hosts现在列出了您的远程aws实例 这不是阻止。

但是如果要在其上打开ssh会话,则需要将〜/ .ssh / id_rsa.pub公共ssh密钥添加到远程服务器的~blah/.ssh/authorized_keys文件中。

参见" Amazon EC2 Key Pairs"或" SSH Connections to AWS CodeCommit",两者都描述了相同的原则。

"致命:无法读取http的用户名..."意味着它需要知道哪个用户正在访问GitHub仓库。

cd /path/to/aws/repo
git remote set-url origin https://{username}:{password}@github.com/{username}/project.git

这不是很安全,因为您的密码是网址的一部分 最好是use a credential manager来缓存所述密码(illustrated here) 或者使用ssh url for that repo