首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用JSch API发送UNIX命令?

如何使用JSch API发送UNIX命令?
EN

Stack Overflow用户
提问于 2015-09-23 19:06:49
回答 2查看 347关注 0票数 0

我需要发送以下ftp命令

代码语言:javascript
复制
%   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 

我试着发送以下命令

代码语言:javascript
复制
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");  

但这不起作用。我也试过“外壳”。

我做错了什么?

EN

回答 2

Stack Overflow用户

发布于 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?

票数 0
EN

Stack Overflow用户

发布于 2017-02-14 08:49:19

您正在尝试使用SFTP客户端库与FTP服务器通信。

尽管名称和用途相似,FTP和SFTP是完全不同的协议。请参阅Differences between SFTP and "FTP over SSH"

您需要更改服务器或客户端,因此它们是匹配的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32747581

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档