在 Windows 上使用非标准端口通过 SSH 设置 Git

在 Windows 上使用非标准端口通过 SSH 设置 Git

我不得不从 Ubuntu 切换过来,以便能够全速使用 Adob​​e Suite,现在我发现 Windows 上的 SSH 并不像 Linux 上的那么统一。

所以我安装了系统管理工具油灰但我发现 git 在使用 putty 进行 SSH 时遇到了麻烦。(我确实在 Windows 路径上安装了 msysgit 并使用了 plink)。

我现在正尝试使用 /.ssh/config 文件将我的 git 项目上的远程服务器添加到非标准端口上,例如

Host 255.255.255.255
Port 22222

然后我将数据添加到我的 git repo:

git remote add origin [email protected]:~/git/repo

但是当我尝试推送时收到一条错误消息。

$ git push origin master
FATAL ERROR: Network error: Connection refused
fatal: The remote end hung up unexpectedly

因此我尝试从 git 控制台使用 SSH:

ssh [email protected]

它提示我输入私钥密码(但它没有),当我输入失败时,它会要求我输入 SSH 用户密码(它可以工作)。

因为我要禁用通过密码进行的 SSH 登录,所以我需要 git 开始正确使用我的密钥。

答案1

我有一个类似的工作流程,但使用 gitosis 来管理我的 VPS 上的 repo。

我使用 msysgit bash 和 windows 路径以及 plink 按照你上面的建议,但此外我还使用盛会管理 SSH 密钥。

要访问我的存储库,我采取以下顺序,

  • 打开 Pagent 并访问我的密钥(如果您有密码,则只需在这里输入一次密码,即使您输入了密码,它也会在整个会话期间记住它)。
  • 然后打开 Git bash 并像平常一样添加/提交/推送/拉取/克隆。

需要注意的一点是,我必须使用 Putty Gen(可在上面的同一链接中找到)转换使用 Git bash 创建的密钥,以便 Pagent 可以使用它。

答案2

我没有正确指定连接字符串。

$ git remote add test ssh://[email protected]:22222/~/git/repo

我也没有运行 pagent 来帮我管理钥匙。;)

答案3

如果您可以接受该密钥没有密码,您可以删除密码……否则这个问题可能会提供一些指导。

相关内容