java - 使用纯 Java 与 SSH 服务器通信以进行文件访问

标签 java sockets unix ssh telnet

我正在用 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/

相关文章:

c++ - boost::asio 多播示例

java - 为什么 Java writeBytes 在第一个 TCP 数据包中只发送一个字节并保留在另一个 TCP 数据包中

linux - UNIX 和 Linux 服务器中的不同日期格式

unix - ping命令的退出状态

java.text.ParseException : Unparseable date: "

java - 无法获取连接,数据源无效 - Netbeans、MySQL

python - FTP服务器不使用套接字将数据发送到Python中的代理

linux - 连接来自不同文件的列并在文件之间进行比较

Java 标准化列表

java - 运行 rmi 测试程序时出错