我需要发送以下ftp命令
% ftp test.cs.xxxx.edu
Connected to test.cs.xxxx.edu.
220 test FTP server (Version 5.53 ........) ready.
Name (test.cs.xxxx.edu:yourlogin): yourlogin
331 Password required for yourlogin.
Password:
230 User yourlogin logged in.
ftp> cd HPSC/exercises
ftp> get JHFLKDHLFKD.zip 我试着发送以下命令
JSch jsch = new JSch();
Session session_1 = jsch.getSession("user1", "host1", 22);
session_1.setConfig("StrictHostKeyChecking", "no");
session_1.setPassword("pass1");
session_1.connect();
System.out.println("The session 1 has been established");
ChannelExec exec = (ChannelExec)session_1.openChannel("exec");
exec.connect();
exec.setCommand("ftp test.cs.xxxx.edu");
exec.setCommand("user2");
exec.setCommand("pass2");
exec.setCommand("cd \test\test\test");
exec.setCommand("get JHFLKDHLFKD.zip"); 但这不起作用。我也试过“外壳”。
我做错了什么?
发布于 2015-09-24 06:03:29
您要发送的命令是ftp进程的命令。这些命令不是远程shell能够理解的。
唯一真正的命令是ftp。其余的必须输入到已启动的进程到其标准输入。使用 method提供输入。
无论如何,最好使用本地FTP客户端,而不是像我以前建议的那样在服务器端启动命令行客户机:
How to connect to an FTP server from an existing connection to Unix server?
发布于 2017-02-14 08:49:19
您正在尝试使用SFTP客户端库与FTP服务器通信。
尽管名称和用途相似,FTP和SFTP是完全不同的协议。请参阅Differences between SFTP and "FTP over SSH"
您需要更改服务器或客户端,因此它们是匹配的。
https://stackoverflow.com/questions/32747581
复制相似问题