我有一个 Git 存储库,我使用类似于以下的路径提取它:
git pull ssh://username@host.com:1234/path/to/repository.git
当 GitExtensions 然后尝试使用 plink 从存储库中提取时,它会进行以下调用:
plink -T username@host.com:/path/to/repository.git
这最终会失败,因为它实际上是在 ping 端口 #22,而不是 #1234。
正确的呼吁是
plink -T -P 1234 username@host.com:/path/to/repository.git
如果我在 ~/.ssh/config 中创建一个别名“hostCom”,如果我这样做,它似乎可以正常工作(连接到 #1234):
plink -T username@hostCom
但是,只要我也添加了 Git 存储库的路径,它就会再次转到 #22。
我尝试的另一个选择是在 PuTTY 中创建一个会话。让我们称它为“hostPutty”,并在那里设置默认端口,等等。底线最终是一样的:不能将 Git 存储库的路径与自定义端口结合起来。
如何组合所有部分以使其工作?
OpenSSH怎么能解决这个问题,而 PuTTY 却不能呢?OpenSSH 的唯一问题是,它在每次连接尝试时都会询问我私钥的密码(而且我不想在没有密码的情况下创建私钥)。