当我使用命令提示符但不在 mobaxterm 中时,下面有两个命令可以工作。为什么?
ssh -L 16006:127.0.0.1:6006 [email protected]
在命令提示符和 mobaxterm 中工作,但
ssh -L 16006:127.0.0.1:6006 [email protected]
不仅在 mobaxterm 中有效。它给了我信息
_ssh:无法解析主机名 10.2.25:名称或服务未知
当我使用命令提示符但不在 mobaxterm 中时,下面有两个命令可以工作。为什么?
ssh -L 16006:127.0.0.1:6006 [email protected]
在命令提示符和 mobaxterm 中工作,但
ssh -L 16006:127.0.0.1:6006 [email protected]
不仅在 mobaxterm 中有效。它给了我信息
_ssh:无法解析主机名 10.2.25:名称或服务未知
不一样
ssh
。在 Bash 里面 MobaXterm
ssh
被别名为/bin/ssh.exe
最终运行的 shell 脚本/bin/_ssh.exe
。这些文件是随 MobaXterm 一起安装的。在 MobaXterm 之外,它们存在于%MyDocuments%\MobaXterm\slash\bin
.您的命令提示符使用其他一些
ssh.exe
.只有两个点的 IP 地址是有效的,但实际上某些工具可能不同意。这不是不同意的唯一可能原因,请参阅这个关于前导零的问题。
要使两种方法的行为方式相同,您需要每次都使用相同的方法。
ssh.exe
始终
ssh
从 MobaXterm 使用。请注意,即使您添加
%MyDocuments%\MobaXterm\slash\bin
到PATH
Windows 中,您也无法ssh.exe
从 MobaXterm 中使用,因为它不是 Windows 可以理解的可执行文件。您可以使用_ssh.exe
:将其复制到另一个位置,重命名以在 Windows 中进行ssh.exe
调整。PATH
这ssh
将不支持像[email protected]
.或者反过来:总是使用 other
ssh
。最简单的方法似乎是
ssh
在 MobaXterm 中重新定义 Bash 中的别名,以指向ssh.exe
您的命令提示符使用。但请注意,原始
/bin/ssh.exe
脚本的存在是有原因的。所以也许最好保留原始别名并......修补
SSH_PROG="/bin/_ssh.exe"
脚本并指向/cygdrive/c/proper/path/ssh.exe
. 不过,“新”ssh.exe
可能与脚本不完全兼容。未来的更新(如果有)可能会还原这些更改。无论如何,在您的情况下,这
ssh
应该支持诸如[email protected]
.即使您使用相同
ssh.exe
但在一种情况下仍然依赖脚本,结果可能不会严格相同,因为脚本做了一些额外的事情。10.2.25 是一个不完整的 IP 地址,那里缺少数字。这就是为什么“主机名”没有得到解决