用ssh指令,无法连接 Linux 电脑
■win 10 PC
【1】在CMP 上,直接执行 这个指令【ssh LINUX_IP -l LINUX_USER名字 】→可以正常 连接到Linux PC
【2】直接执行【.bat】文件,文件中包含这个指令【ssh LINUX_IP -l LINUX_USER名字 】→也可以正常 连接到Linux PC
【3】运行一个【 .exe】的工具,这个工具 会调用②的【.bat 】文件
→这个方式 ,无法 连接到Linux PC,
请问 这个会是哪里出了问题呢 ? 要如何 解决呢?
备注:
因为工作需要,必须用【3】的 方式, 【 .exe】的工具 会有个UI界面,为了输入 相关信息用的。
win10 和 Linux PC 之间的公钥设置ok,在CMP 上运行指令【ssh LINUX_IP -l LINUX_USER名字 】,不需要输入密码。
【3】是外部传入登录参数的,
→我打印出来 参数 取得的信息,都是对的,
→我把打印出来 的 参数 语句【ssh LINUX_IP -l LINUX_USER名字 】,直接放入.bat 执行,是 ok 的。
检查端口ip用户名密码
该回答引用GPTᴼᴾᴱᴺᴬᴵ
可能是因为在调用 .exe 工具时,环境变量不一致导致的问题。你可以尝试在 .bat 文件中添加以下语句,设置环境变量:
set PATH=C:\Windows\System32\OpenSSH;%PATH%
这将在 PATH 变量中添加 OpenSSH 目录的路径,以便正确找到 ssh 命令。如果问题仍然存在,你可以尝试在 .bat 文件中添加以下语句,强制使用 ssh 的绝对路径:
C:\Windows\System32\OpenSSH\ssh.exe LINUX_IP -l LINUX_USER名字
这将使用 Windows 系统中的 ssh 命令,而不是依赖于环境变量。如果还有问题,可以检查 Windows 和 Linux 之间的网络连接是否正常,以及防火墙和路由器设置是否阻止了 ssh 连接。