我正在用 Java 编写一个程序,使用套接字与 Telnet 服务器通信,允许用户访问 UNIX 操作系统中的文件目录。
当使用 Putty 与此服务器通信时,它会提示我输入用户名和密码,但使用我的套接字时,除了表明它使用 SSH 2.0 的字符串外,服务器什么也没有——我想。
我确定这与 Telnet 协议(protocol)有关,但如何让服务器询问我的用户名和密码。为了在 UNIX 环境中访问文件目录,我需要向服务器提供哪些命令集?
更正: 我想它实际上是在端口 22 上使用 SSH。它可以使用 Putty 或 Microsoft Windows 的 Telnet 程序访问,但它实际上并没有使用 Telnet 协议(protocol),而是使用 SSH 协议(protocol)。
最佳答案
SSH 不是远程登录。 SSH 是一种非常类似于 telnet 的协议(protocol),但它是加密的并且具有许多其他功能。所以看起来您期待的是纯文本交换,但您得到的是试图进行握手的 ssh 协议(protocol)。
Telnet 在端口 23 上运行,SSH 在 22 上运行。我想你想使用 23。注意:Telnet 是旧的且未加密的,并且在互联网上使用是危险的(除非你正在通过 VPN 或加密 session 的东西)。
关于java - 使用纯 Java 与 SSH 服务器通信以进行文件访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7244570/