의 읽기 되세요. Java Secure Channel (JSCH)은 매우 인기있는 라이브러리로 maven, ant 및 eclipse에서 사용됩니다. BSD 스타일 라이센스가있는 오픈 소스입니다.
ssh에 대한 인증이 필요한 경우 java를 통해 사용할 수 있습니다.
패스워드 패스를 통과해야하는 경우, 원하는대로 할 수있는 두 가지 방법이 있습니다. 하나는 저장된 암호를 포함하고 하나는 포함하지 않습니다.
둘 다 비대화 형입니다. 즉, 암호를 입력하지 않아도 작동 할 수 있습니다.
암호가 필요없는 방식입니다. SSH가있는 암호 대신 공개/개인 키 인증을 사용할 수 있습니다. 나는 으로 가고 있는데, 실질적으로 모든 리눅스 배포판에 포함 된 OpenSSH를 사용하고 있다고 가정합니다.
단계 :
구성 개인 키 로그인을 수락하려면 SSH 서버입니다./etc/ssh/sshd_config에는 PubkeyAuthentication yes라는 줄이 있고 (그곳에 # 정보가 없다는 것을) 확인하십시오. 이 파일을 변경하면 sshd 서비스를 다시 시작해야합니다.
로컬 컴퓨터에
(서버가 아닌)로 자신에게 키 쌍을 생성 SSH-Keygen은 -t RSA (당신은 RSA 이외의 다른 옵션을 사용할 수 있습니다,하지만 난 그것을 간단한 유지하고 있습니다). 암호를 지정하지 마십시오. 키를 저장할 위치에 저장하십시오.
방금 작성한 id_rsa.pub 파일의 내용을 열어 (매우 긴 텍스트 행 하나임) 서버 시스템의 $ HOME/.ssh/authorized_keys 파일 끝에 내용을 복사하십시오. 파일이 없으면 만듭니다.
Further Detail refer here.
기본 아이디어는 메시지가 나타날 때 관리 자동화 도구 인 expect를 사용하여 ssh에 암호를 입력하는 것입니다. 그것은 항상 작동하지 않을 수도 있고 그렇지 않을 때, 어려울 수도 있습니다. 이유를 알아내는 것이 어렵습니다. 나는 첫번째 방법을 추천한다.
어쨌든 여기에있는 명령은 사용자가 이 원하는 것을 수행 할 때까지 누를 수 있습니다.
스크립트 코드는 다음과 같습니다
expect -c 'spawn ssh [email protected] ; expect assword ; send "passphrase\n" ; interact'
시스템에 설치되지 않을 수 있습니다 기대합니다. 설치 여부 확인하기