我是JSch的新手。请让我知道如何连接到远程服务器并执行 sudo su 并将文件从一个路径移动到远程服务器内部的另一个路径。
- 连接到远程服务器:ssh myName@server.remote.com
- sudo su -homeUser
- cp /one/two/testFile.txt /one/testFile.txt
- 如果找到(ls -lrt /one/testFile.txt),则复制回显文件。
- 断开
请建议使用 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)
{
}
}