JSch连接到远程服务器和sudo su

时间:2013-01-08 09:41:16

标签: java unix jsch

我是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),则复制echo文件。
  5. 断开
  6. 请使用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)
    {
    
    }
    }
    

0 个答案:

没有答案