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