Java PuTTY 打开保存的会话
Java PuTTY open saved session
Plink 新手,我正在尝试使用 Plink 从 putty 加载保存的会话,我的会话称为 "saved session1",当我加载和 运行 会话并远程连接到 PuTTY 中的服务器 我首先被要求输入 "login as:",然后输入 "Password:"。鉴于我的 "saved session1" 用户名 "username1" 和密码 "password1".我的代码基于之前的 Whosebug post
Java and putty - send commands [duplicate]
我有代码,但不确定如何格式化命令,假设 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 ();
}
}
}
如果您存储的会话名称包含 space,您必须将名称用双引号引起来(最好始终这样做):
String command = "plink -load \"saved session1\"";
尽管您最好使用本机 Java SSH 库(例如 JSch),而不是尝试自动化 PuTTY/Plink.
参见Sending commands to remote server through ssh by Java with JSch。
Plink 新手,我正在尝试使用 Plink 从 putty 加载保存的会话,我的会话称为 "saved session1",当我加载和 运行 会话并远程连接到 PuTTY 中的服务器 我首先被要求输入 "login as:",然后输入 "Password:"。鉴于我的 "saved session1" 用户名 "username1" 和密码 "password1".我的代码基于之前的 Whosebug post
Java and putty - send commands [duplicate]
我有代码,但不确定如何格式化命令,假设 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 ();
}
}
}
如果您存储的会话名称包含 space,您必须将名称用双引号引起来(最好始终这样做):
String command = "plink -load \"saved session1\"";
尽管您最好使用本机 Java SSH 库(例如 JSch),而不是尝试自动化 PuTTY/Plink.
参见Sending commands to remote server through ssh by Java with JSch。