在 JSch 中使用 sftp 发出任何命令
Issue any command using sftp in JSch
您好,我目前正在使用以下代码行向远程服务器发出命令
ChannelSftp sftp = (ChannelSftp)session.openChannel("sftp");
sftp.connect();
System.out.println("Current Directory: " + sftp.pwd());
<= 这行
但是 pwd 已经被定义为 Class ChannelSftp 中的方法,我的问题是如果我想发出一些命令或 运行 任何不是 JSch 中的方法的 .sh 文件怎么办?
假设我想 运行 : sudo /opt/bin/run.sh file.
或者有什么方法可以用来完成这项工作
(请注意,我在本地主机和网络服务器之间有一个跳转服务器。网络服务器只能通过跳转 server.So 访问,这就是我不使用 exec 或 shell 的原因).
ChannelSftp class 正在执行 SFTP 协议,它能够执行 FTP 操作。 显然不允许通过 SFTP. 执行随机命令在这种情况下你需要的是使用不同的 class jsch 库:ChannelExec.
例如 here.
您好,我目前正在使用以下代码行向远程服务器发出命令
ChannelSftp sftp = (ChannelSftp)session.openChannel("sftp");
sftp.connect();
System.out.println("Current Directory: " + sftp.pwd());
<= 这行
但是 pwd 已经被定义为 Class ChannelSftp 中的方法,我的问题是如果我想发出一些命令或 运行 任何不是 JSch 中的方法的 .sh 文件怎么办?
假设我想 运行 : sudo /opt/bin/run.sh file.
或者有什么方法可以用来完成这项工作
(请注意,我在本地主机和网络服务器之间有一个跳转服务器。网络服务器只能通过跳转 server.So 访问,这就是我不使用 exec 或 shell 的原因).
ChannelSftp class 正在执行 SFTP 协议,它能够执行 FTP 操作。 显然不允许通过 SFTP. 执行随机命令在这种情况下你需要的是使用不同的 class jsch 库:ChannelExec.
例如 here.