我不得不从 Ubuntu 切换过来,以便能够全速使用 Adobe 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
如果您可以接受该密钥没有密码,您可以删除密码……否则这个问题可能会提供一些指导。