概括:SSH 没有执行任何操作。
> ssh user@[email protected]
> ssh oshdfojsfsdof -psd sdfisdfjdsf
(无论您向命令行传递什么都不会执行任何操作。没有输出,没有错误,什么都没有)
完整故事: 我最近安装了 Cygwin,这样我就可以利用 SSH 密钥运行一些 rsync,而不必弄清楚如何在 Windows 上进行设置。我让一切运行良好,但后来发现我需要安装 Cygwin 的更多部分才能使 cron 正常工作。我添加了一些软件包,但承认我没有像应该的那样关注我安装了哪些软件包。
我设置了 cron,但第二天早上发现它不起作用。经过大量调试后,我意识到 rsync 给我的错误是因为 SSH 命令根本不想成为......好吧...... ssh。就好像我什么都没运行一样。
我很困惑,因为在再次运行 Cygwin 设置并添加其他包之前一切都正常。
答案1
您可以用“strace”检查一下,看看它没有做什么。
strace ssh -v hostname
答案2
尝试“-v”标志。强制它更详细并为您提供有关其正在执行的操作的某种信息。
答案3
嘿,Matt,我遇到了同样的问题。那么哪个版本适合您?
[2小时后更新]
好吧,我通过重新安装每一个东西解决了这个问题。我通过点击右上角的“查看”按钮几次列出所有已安装的软件包,然后重新安装所有软件包。
全部重新安装后,ssh 就开始工作了。
顺便说一句,“strace ssh -v hostname”告诉我我的 cygz.dll 丢失或损坏了。不知道这是怎么发生的,我甚至不知道 cygz.dll 位于何处。
答案4
我遇到了同样的问题:无论我向 ssh 传递什么参数,命令都不会执行任何操作 - 只是立即返回到命令提示符。“which ssh”正确报告了“/usr/bin/ssh”。
使用“strace ssh”运行 ssh 时,系统弹出一个消息框,提示“cygz.dll 丢失”(正如 Bill Hung 所述)。我重新安装了所有内容(从不同的镜像中),ssh 开始工作。此外,“strace ssh”现在提供了有用的输出,没有错误。
除了“cygwin 有时无法完美安装,您可能需要重新安装”之外,我无法得出太多结论。