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

在远程服务器上克隆存储库时,如何指定capistrano将使用的密钥文件?,capistrano,Capistrano,理想情况下,我需要类似于set:scm\u keyfile,“~/.ssh/server deploy key”的东西。指定的路径当然是远程服务器上的路径 如果远程用户已经拥有~/.ssh/id\u rsa或~/.ssh/id\u dsa,则默认情况下,git将使用它 如果希望为私钥使用备用文件名,可以这样做。在远程服务器上创建一个文件~/.ssh/config,并将这些行放入其中 Host github.com User git IdentityFile ~/.ssh/server

理想情况下,我需要类似于
set:scm\u keyfile,“~/.ssh/server deploy key”
的东西。指定的路径当然是远程服务器上的路径

如果远程用户已经拥有
~/.ssh/id\u rsa
~/.ssh/id\u dsa
,则默认情况下,
git
将使用它

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

Host github.com
   User git
   IdentityFile ~/.ssh/server-deploy-key
现在,当您尝试运行类似于
git clone的命令时git@github.com/xxx/yyy.git
,将使用您的
~/.ssh/server部署密钥

另一种方法是使用ssh代理转发。在这种方法中,您不需要将部署密钥放在远程服务器上。只要它在本地计算机上,并且您启用了ssh代理转发,您的远程服务器就可以访问并使用该密钥。对此有一个解释