【问题标题】:Can't ssh to remote repository from command line无法从命令行 ssh 到远程存储库
【发布时间】:2016-09-24 14:28:26
【问题描述】:

我正在尝试连接到特定 IP 地址下的远程存储库。

我通过电子邮件收到了私钥,并且我在使用 Putty 的 Windows 上。 .ppk 文件位于 Pageant 中。

我还创建了一个 GIT_SSH 环境变量。

在这些步骤之后,我的个人 IP 被列在了防火墙中,所以我想我可以连接了。

但是,当我使用 git bash 连接到服务器时,我收到消息“权限被拒绝(公钥)”。

我使用的命令是:

$ ssh [IP] $ ssh [username]@IP $ ssh -T [username]@IP

我在网上查得很详细,但到目前为止没有成功,我真的需要尽快访问 repo。

提前致谢! 奥布里加达 :)

【问题讨论】:

  • 所以它适用于 putty 但不适用于 ssh 命令行实用程序?您的 ssh 命令示例均不包括指定密钥。请准确说明您如何告诉 ssh 使用什么密钥文件。尝试使用“-vv”运行 ssh 以打印调试输出,然后 edit 您的问题以显示您运行的确切命令及其产生的输出。
  • @Kenster 我想是的。这是我第一次使用 ssh。可能我的 ssh 命令是错误的。如何判断使用哪个键?
  • -i identity_file - 换句话说ssh -i <path/to/privatekey.key> [username]@[IP]
  • 谢谢@Katie!我只需要将路径和用户名@IP 都用双引号括起来就可以了。像这样 ssh -i "path/to/privatekey.key" "username@IP"

标签: windows git bash ssh command-line


【解决方案1】:

两种方法

直接在 Git Bash 中使用 Pageant

这需要将 GIT_SSH 环境变量设置为 plink.exe(它是 putty 套件的一部分)的完整路径。

另外,我强烈建议检查 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)


将 putty 密钥转换为 OpenSSH 格式

另一种可能性是使用 puttygen.exe 将 putty 密钥导出为 OpenSSH 格式,并直接在 GIT Bash 中使用导出的密钥:

  1. 打开 PuttyGen
  2. 点击加载
  3. 加载您的私钥
  4. 转到Conversions->Export OpenSSH 并导出您的私钥
  5. 将您的私钥复制到~/.ssh/id_dsa(或id_rsa)。
  6. 使用ssh-keygen 创建公钥的 RFC 4716 版本

    ssh-keygen -e -f ~/.ssh/id_dsa > ~/.ssh/id_dsa_com.pub
    
  7. 将 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

【讨论】:

  • @LunaPaglarelli 不用担心 :) ... 是什么解决了你的问题?
  • 我使用了您发送的选美选项,非常感谢@AshutoshJindal!但不幸的是,我仍然无法访问 repo。它说我需要安装一些软件包。 “149 个可用的安全包中需要 57 个包。运行“sudo yum update”以应用所有更新致命:未启用交互式 git shell。提示:~/git-shell-commands 应该存在并且具有读取和执行访问权限。连接到[ip] 关闭。”从昨天开始,我一直在努力寻找解决方案。万一这不会占用你太多时间,你知道我在哪里可以找到这个吗?奥布里加达!
猜你喜欢
  • 2017-08-10
  • 2013-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-19
  • 2012-11-10
  • 1970-01-01
相关资源
最近更新 更多