Java에서 jsch를 통해 원격 서버에 연결하여 linux 명령을 실행합니다
다음과 같은 코드를 사용하여 JSCH를 사용할 수 있습니다.
public class CogradientImgFileManager{
private static final Logger log = LoggerFactory.getLogger(CogradientImgFileManager.class);
private static ChannelExec channelExec;
private static Session session = null;
private static int timeout = 60000;
//
public static void main(String[] args){
try{
versouSshUtil("10.8.12.189","jmuser","root1234",22);
runCmd("java -version","UTF-8");
}catch (Exception e){
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
*
* @param host ip
* @param userName
* @param password
* @param port
* @throws Exception
*/
public static void versouSshUtil(String host,String userName,String password,int port) throws Exception{
log.info(" ....host:" + host + ",username:" + userName + ",password:" + password + ",port:"
+ port);
JSch jsch = new JSch(); // JSch
session = jsch.getSession(userName, host, port); // , ip, Session
session.setPassword(password); //
Properties config = new Properties();
config.put("StrictHostKeyChecking", "no");
session.setConfig(config); // Session properties
session.setTimeout(timeout); // timeout
session.connect(); // Session
}
/**
*
* @param cmd
* @param charset
* @throws Exception
*/
public static void runCmd(String cmd,String charset) throws Exception{
channelExec = (ChannelExec) session.openChannel("exec");
channelExec.setCommand(cmd);
channelExec.setInputStream(null);
channelExec.setErrStream(System.err);
channelExec.connect();
InputStream in = channelExec.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in, Charset.forName(charset)));
String buf = null;
while ((buf = reader.readLine()) != null){
System.out.println(buf);
}
reader.close();
channelExec.disconnect();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
docker: error pulling image configuration: GetC 컴파일러 3 종을 docker로 저장된 image를 달리려고 했다. 그럼 이쪽은? 이거, 이쪽은 움직인다. 그럼 이쪽은? 움직이는 얀. 그럼 다시. 이거, 움직였다. 뭐야. ver. 0.01 초고 20190504...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.