理想情况下,我想要set :scm_keyfile, "~/.ssh/server-deploy-key"
之类的东西。指定的路径当然是远程服务器上的路径。
答案 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解释了这一点。