我想部署一個應用程序,當我運行cap部署:檢查所有看起來像罰款,但是當我嘗試部署它然後我得到以下錯誤:部署Rails應用程序與Capistrano - 權限被拒絕(公鑰)
Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
*** [deploy:update_code] rolling back
* executing "rm -rf /var/www/app/releases/20140327233712; true"
servers: ["IP"]
[IP] executing command
command finished in 676ms
Command git ls-remote [email protected]:user/app.git staging returned status code pid 5458 exit 128
我已經在我的服務器中生成了密鑰(ssh-keygen -t rsa -C「lorem ..」),然後我在bitbucket中添加了這個密鑰,但是我仍然遇到了權限問題。
編輯:
在我使用AWS時,我創建了新的實例,我把它保存到我的本地機器生成的密鑰的deploy.rb文件:ssh_options [:鍵] = [」 /Users/user/Documents/app.pem「],然後我在我的服務器中生成密鑰,並將它添加到Bitbucktet(」home/ubuntu/.ssh/id_rsa.pub「),所以我認爲我需要添加密鑰我的本地(「app.pem」)機器到Bitbucket,但是當我嘗試這樣做時,我得到和Bitbucket中的錯誤:無效的SSH密鑰(ssh-keygen)。
在deploy.rb文件中,我使用AWS在創建新實例時生成的密鑰,並將其保存到本地計算機:ssh_options [:keys] = [「/ Users/user/Documents/app。 pem「]然後我在我的服務器中生成密鑰,並將其添加到Bitbucktet(」home/ubuntu/.ssh/id_rsa.pub「),所以我認爲我需要添加我本地的密鑰(」app.pem「 )機器到Bitbucket,但當我嘗試這樣做時,我得到和Bitbucket中的錯誤:無效的SSH密鑰(ssh-keygen)。 – darkcode
您不需要對AWS生成的密鑰進行任何操作。如果你正在運行capistrano作爲'ubuntu'用戶,你通過將公鑰添加到Bitbucket中來做正確的事情。改變你的capistrano配方:ssh_options [:keys] =「/ home/ubuntu/.ssh/id_rsa」。請注意,這是私鑰。 –