1

我是JSch的新手。请让我知道如何连接到远程服务器并执行 sudo su 并将文件从一个路径移动到远程服务器内部的另一个路径。

  1. 连接到远程服务器:ssh myName@server.remote.com
  2. sudo su -homeUser
  3. cp /one/two/testFile.txt /one/testFile.txt
  4. 如果找到(ls -lrt /one/testFile.txt),则复制回显文件。
  5. 断开

请建议使用 JSch 库执行上述操作的一段代码

public void exec(){
Jsch jsch = new JSch();
try{
Session session = jsch.getSession(user,host,22);
session.setPassword("password");
UserInfo ui = new MyUserInfo();
session.setUserInfo(ui);
session.connect();
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand("sudo su -homeUser");

Channel.connect();
Channel.disconnect();



session.disconnect();
}Catch(Exception e )
{
}
}
public static class MyuserInfo implements Userinfo
{

@override
public String getPassword()
{
return "password";
}
@override
public String getPaspharse(){
return "yes";
}

@override
public boolean promtPassword(String arg0)
{
return true;
}
@override
public boolean promtPasspharse(String arg0)
{
return true;
}

@override
public boolean promtYesorNo(String arg0)
{
return true;
}
@override
public boolean showMessage(String arg0)
{

}
}
4

0 回答 0