我正在尝试连接到特定IP地址下的远程存储库。
我通过电子邮件收到了私钥,并且正在使用Putty在Windows上。.ppk文件在Pageant中。
我还创建了一个GIT_SSH环境变量。
完成这些步骤之后,我的个人IP便被列出在防火墙中,因此我想我可以连接了。
但是,当我使用git bash连接到服务器时,收到消息“权限被拒绝(公共密钥)”。
我使用的命令是:
$ ssh [IP] $ ssh [username]@IP $ ssh -T [username]@IP
我详尽地查询了在线内容,但到目前为止还没有成功,我确实需要尽快访问该存储库。
提前致谢!Obrigada :)
两种解决方法
这需要将GIT_SSH环境变量设置为plink.exe的完整路径(这是腻子套件的一部分)。
另外,我强烈建议检查plink.exe是否可以在GIT Bash中工作,如下所示:
Full-path-to-plink.exe -v -P port sshusername@sshserver
另一件事要检查的是您正在使用的Putty套件的版本。(我稍后可以挖掘细节,但)0.60版存在一个错误,原因是cmd中的进程无法访问Pageant。我相信这个问题已在v 0.62中解决,但您可以随时使用最新版本(v 0.67)
另一种可能性是通过使用puttygen.exe并直接在GIT Bash内部使用导出的密钥将腻子密钥导出为OpenSSH格式:
Conversions->Export OpenSSH
并导出您的私钥~/.ssh/id_dsa
(或id_rsa
)。使用以下命令创建RFC 4716版本的公共密钥 ssh-keygen
ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
将RFC 4716版本的公钥转换为OpenSSH格式:
ssh-keygen -i -f ~/.ssh/id_dsa_com.pub > ~/.ssh/id_dsa.pub
然后,您可以在GIT Bash中执行以下操作来测试ssh连接:
GIT_SSH=ssh
ssh -v sshusername@sshserver -i ~/.ssh/id_rsa
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句