如何在远程服务器上克隆存储库时指定capistrano将使用的密钥文件?

时间:2013-09-23 05:37:36

标签: capistrano

理想情况下,我想要set :scm_keyfile, "~/.ssh/server-deploy-key"之类的东西。指定的路径当然是远程服务器上的路径。

1 个答案:

答案 0 :(得分:3)

如果远程用户已经有~/.ssh/id_rsa~/.ssh/id_dsa,那么git将默认使用它。

如果您希望为私钥使用备用文件名,则可以执行此操作。在远程服务器~/.ssh/config上创建一个文件并将这些行放入其中

Host github.com
   User git
   IdentityFile ~/.ssh/server-deploy-key

现在,当您尝试运行git clone git@github.com/xxx/yyy.git之类的命令时,将使用您的~/.ssh/server-deploy-key

另一种方法是使用ssh-agent转发。在此方法中,您无需将部署密钥放在远程服务器上。只要它在您的本地计算机上,并且您已启用ssh-agent转发,您的远程服务器将可以访问该密钥并将使用它。有一个nice article on github解释了这一点。