2016-02-26 41 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 
相關問題