嘿,我通过PuTTy连接到远程服务器。 在这个服务器上,我也在编写一些代码,我想推到一个需要ssh-rsaauthentication的git仓库。
所以当推
git推送起源大师
服务器要求input密码。 然而,我已经加载了我的私钥与选美,所以PuTTy应该知道我的私钥,而不是要求input密码,而是直接接受推送。
我的主要问题:如果您想要通过PuTTy将git推送到需要身份validation的远程服务器(用户拥有有效的私钥),标准过程如何?
上传我的密钥到服务器当然不是一个好的select。
您需要在PuTTy中启用代理转发。 在Puttyconfiguration中,导航到Connection – > SSH – > Auth,然后选中“Allow Agent dorwarding”
编辑:在通过PuTTy启用代理转发和SSH到一个有你的公钥的系统后,你将能够从该系统ssh到第二个系统,也有你的公钥。 你不需要做任何特别的工作。 当连接到第二个系统时(无论是使用-A还是使用ForwardAgent在〜/ .ssh / config中 ),都不需要启用代理转发。 当您要从正在login的系统再次跳转时,只需启用代理转发。
当您从计算机连接到服务器时,您将打开另一跳(使用git),因此您必须启用代理转发。 当git通过ssh连接到另一台服务器时,它不会再打一个跳,所以你不需要启用代理转发。
如果您想了解代理转发的工作原理,请参阅优秀的SSh代理转发插图指南 。
pageant中的关键字是PuTTy知道的,但是git代码在远程服务器上运行ssh客户端,而不是在你的桌面上,所以你需要创build一个密钥对来推送代码或者通过密码login。