2014-01-11 2 views
0

SSH를 사용하여 다른 원격 서버의 정보를 가져 오는 웹 서비스 (Sevlets)를 구축 중입니다. 간단히하기 위해 JSch와 같은 Java에서 SSH 클라이언트 구현을 사용하는 대신 ssh를 수행하기 위해 Apache commons exec 라이브러리를 사용하기로했습니다. 이 구현은 내 개발 환경에서 잘 작동하지만 원격 웹 서버 (OpenSSH 클라이언트가있는 Red Hat 서버)에 배포하면 오류 메시지와 함께 실패합니다.서블릿에서 SSH를 수행 할 수 없습니다.

ssh_exchange_identification : 원격 호스트에 의해 폐쇄 연결

하지만 아파치 톰캣 데몬을 웹 서버에 ssh를하고 다시 시작할 때 나는 웹 내 SSH 세션을 종료 할 때까지, 내 ​​서블릿 코드에서 SSH 작동 위의 메시지와 함께 실패합니다.

추신 : 가능한 한 Java SSH 클라이언트 구현을 사용하지 않는 것이 좋습니다. 내 환경의 ssh 설정이 직접적인 것이 아니며 터널 설정과 관련되기 때문입니다. 그런 설정은 이미 ssh 설정 파일을 사용하여 완료되었으므로 가능한 한 많이 기존 설정을 사용하고 싶습니다.

답변

1

[가니메드 SSH 라이브러리] (http://www.ganymed.ethz.ch/ssh2/)가 도움이되는지 확인하십시오. 내 프로젝트 중 하나에서 사용했고 쉽고 도움이되었다.

+0

@Idris이 문제를 해결할 수 없으면 Java SSH 클라이언트 구현을 사용합니다. –

관련 문제