Professional Documents
Culture Documents
// session
Session session;
try {
session.setPassword(password);
session.setConfig("StrictHostKeyChecking", "no");
session.connect(100000);
} catch (Exception e) {
e.printStackTrace();
int returnCode = 0;
try {
channel.connect();
printWriter.println(command);
printWriter.println("exit");
printWriter.flush();
String line;
stdout.add(line);
System.out.println(line);
} catch (Exception e) {
e.printStackTrace();
return -1;
}finally {
IoUtil.close(printWriter);
IoUtil.close(input);
if (channel != null) {
channel.disconnect();
return returnCode;
// 断开连接
if (session != null) {
session.disconnect();
// 执行命令获取执行结果
execute(command);
sb.append(str);
return sb.toString();
// 执行 ls /opt/命令
System.out.println(result);
executeShellUtil.close();
3.下载和上传文件
/**
* 下载和上传文件
*/
public class ScpClientUtil {
static synchronized public ScpClientUtil getInstance(String ip, int port, String username,
String passward) {
if (instance == null) {
return instance;
this.ip = ip;
this.port = port;
this.username = username;
this.password = passward;
try {
conn.connect();
if (!isAuthenticated) {
System.err.println("authentication failed");
}
client.get(remoteFile, localTargetDirectory);
ex.printStackTrace();
}finally{
conn.close();
try {
conn.connect();
if (!isAuthenticated) {
System.err.println("authentication failed");
mode = "0600";
if (remoteFileName == null) {
client.put(localFile, remoteTargetDirectory);
} else {
ex.printStackTrace();
}finally{
conn.close();
// 从远程服务器/opt下的index.html下载到本地项目根路径下
scpClient.getFile("/opt/index.html","./");
// 把本地项目下根路径下的index.html上传到远程服务器/opt目录下
scpClient.putFile("./index.html","/opt");