【发布时间】:2014-05-09 17:59:00
【问题描述】:
好的,首先我对 SSH 的工作原理没有真正的了解...我正在使用 https://github.com/mscdex/ssh2/ 尝试在 SSH 服务器中“查找”一个 IP。
在 Putty 中,我只能通过接受服务器密钥(指纹),无需用户或密码即可连接到 SSH 服务器。
在 ssh2 中尝试相同操作时,我只会收到“错误:等待握手时超时”。
谁能帮助让我知道(并理解)我是否以及如何让它发挥作用?
谢谢!
【问题讨论】:
-
没有用户?您是否在 PuTTY 配置(连接->数据)中设置了默认用户?您是使用 ssh-agent 或 Pageant 进行身份验证,还是在 PuTTY 配置中设置了私钥(Connection->SSH->Auth)?
-
我有同样的设置和同样的问题。登录 SSH 服务器不需要用户名,也不需要私钥。唯一的要求是在 Putty 中接受服务器指纹,然后我得到连接。 Connection->Data 中的用户为空,Putty 中没有设置私钥。我在 ssh2 中遇到与 TS 相同的错误。
-
您必须使用 telnet 或其他方式,因为 ssh 需要一个用户名(来自某个地方),并且 ssh2 模块如果它是一个实际的 ssh 服务器不会给您握手超时错误消息(除非连接速度非常慢)。
-
不,它是一个 SSH 服务器...我注意到我可以提供任何用户名,甚至是一个空格,并且会获得连接。添加了代码作为如何通过下面的 shell 连接的答案。