Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java PuTTY打开保存的会话_Java_Putty_Plink - Fatal编程技术网

Java PuTTY打开保存的会话

Java PuTTY打开保存的会话,java,putty,plink,Java,Putty,Plink,Plink新手,我正在尝试使用Plink从putty加载保存的会话,我的会话称为“saved session1”,当我加载并运行会话并远程连接到putty中的服务器时,我首先被要求以“的身份登录,然后是密码“”。给定我的“已保存会话1”,用户名为“username1”,密码为“password1”。我的代码基于上一篇stackoverflow的文章 我有代码,但不确定如何格式化命令,假设PuTTY和Plink与我的java代码位于同一目录中,并且给出了有关服务器、会话和登录详细信息的所有信息,

Plink新手,我正在尝试使用Plink从putty加载保存的会话,我的会话称为“saved session1”,当我加载并运行会话并远程连接到putty中的服务器时,我首先被要求以“的身份登录,然后是密码“”。给定我的“已保存会话1”,用户名为“username1”,密码为“password1”。我的代码基于上一篇stackoverflow的文章

我有代码,但不确定如何格式化命令,假设PuTTY和Plink与我的java代码位于同一目录中,并且给出了有关服务器、会话和登录详细信息的所有信息,我如何使用
r.exe()只需登录到服务器并打印主目录内容的命令

import java.io.*;
import java.net.*;

public class javaputty{
    public static void main(String[] args){

        InputStream std; 
        OutputStream out; 
        InputStream err; 

        try {
            String command = "plink -load saved session1";
            String username = "username1";
            String password = "password1";

            Runtime r = Runtime.getRuntime ();
            Process p = r.exec (command);

            std = p.getInputStream ();
            out = p.getOutputStream ();
            err = p.getErrorStream ();

            out.write ("ls -l\n".getBytes ());
            out.flush ();

            Thread.sleep (10000);

            int value = 0;
            if (std.available () > 0) {
                System.out.println ("STD:");
                value = std.read ();
                System.out.print ((char) value);

                while (std.available () > 0) {
                    value = std.read ();
                    System.out.print ((char) value);
                }
            }

            if (err.available () > 0) {
                System.out.println ("ERR:");
                value = err.read ();
                System.out.print ((char) value);

                while (err.available () > 0) {
                    value = err.read ();
                    System.out.print ((char) value);
                }
            }

            p.destroy ();
        }
        catch (Exception e) {
            e.printStackTrace ();
        }
    }
}

如果存储的会话名称包含空格,则必须将名称用双引号括起来(最好始终这样做):


尽管您最好使用本机JavaSSH库(例如),而不是尝试自动化PuTTY/Plink

String command = "plink -load \"saved session1\"";