2016-02-26 29 views
1

我有我的回购迷上了Codeship它运行测试,然后最后通过SSH运行的脚本我的服务器上:SSH的问题:我的服务器上Codeship运行部署脚本未能从GitHub

ssh [email protected] '/var/www/deploy-script.sh' 

在我的服务器上,我有我的deploy用户设置。我将该用户的公钥存储在我的github帐户上。我也有我的项目的密码公钥存储在~/.ssh/authorized_keys

Inside deploy-script.sh,我正在导航到repo目录,然后尝试git pull。显然,我需要最新的代码才能在没有密码的情况下被取消,因为这是在虚拟机上运行的。 Codeship显然能够SSH到我的服务器,并运行部署脚本,但是日志报告:

> Pull updates from Github. 
Permission denied (publickey). 
fatal: Could not read from remote repository. 

如果我登录到我的服务器作为deploy用户并运行该脚本细末,用git pull正常工作。

我错过了什么?为什么github不允许以部署用户身份登录CodeGo.net,而不是我?

回答

1

看来我忽略了ssh-agent没有在登录会话之间持续存在,所以下次以部署用户身份登录时,我也得到了拒绝权限的错误。在我的身份被添加之前,我必须再次登录ssh-add,并且我可以从github中取消。为了让它持续下去,我跟着这里的说明:Add private key permanently with ssh-add on Ubuntu

添加以下到~/.ssh/config

IdentityFile ~/.ssh/deploy-key 
相关问题