![以独立方式在 Windows 版 Git 中使用 ssh](https://linux22.com/image/1540282/%E4%BB%A5%E7%8B%AC%E7%AB%8B%E6%96%B9%E5%BC%8F%E5%9C%A8%20Windows%20%E7%89%88%20Git%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20ssh.png)
我有适用于 Windows 的 Git(它带有 MinGw64 二进制文件和 msys-dll 集),并且仅提取了(感谢 depending.exe)程序 SSH.exe 及其所需的 DLL 文件,以便以独立方式使用这些应用程序。
首先,我尝试了由“git-bash.exe”启动的标准 shell 中的所有操作(标题为 MinGw64),似乎建立了一个类似 Linux tty 的基于终端 /home/ 环境的小型终端,其中似乎正在运行 bash。这里一切顺利,ssh.exe 确实为我提供了很好的服务。
当从例如新的 cmd.exe 提示符或类似提示符启动仅 ssh.exe 时,我得到了如下输出(经过一些交互,我必须回答是;由于明显的原因,有一些混淆):
C:\temp\ssh>ssh.exe <server>
Could not create directory '/home/<user>/.ssh'.
The authenticity of host '<server> (10.***.***.***)' can't be established.
ECDSA key fingerprint is SHA256:***/***.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/<user>/.ssh/known_hosts).
Permission denied (publickey).
C:\temp\ssh>
为了从 cmd.exe 独立运行这个“ssh”变体,以便我可以达到我的网络目标,需要做什么?
答案1
解决了:
C:\temp\ssh>ssh.exe -i c:/users/<user>/.ssh/id_rsa -o UserKnownHostsFile=c:/users/<user>/.ssh/known_hosts <server>
Could not create directory '/home/<user>/.ssh'.
Last login: Mon Sep 4 13:32:03 2017 from <client>
<user>@<server>:~$ exit
logout
Connection to <server> closed.
C:\temp\ssh>