다른 ssh 서버 뒤에서 서버로 ssh하고 싶습니다. 게이트웨이 서버에는 사용자 이름/암호가 필요하며이를 수행 할 수 있습니다. 다음 서버에 들어가기 위해 터널을 사용하고 있지만,이 중 하나는 에만 ssh 키가 필요합니다. PuTTY를 통해 키를 생성 했으므로 내 사용자 이름 용으로 존재하지만 Java 프로그램 용으로 검색하는 방법을 모르겠습니다. 구성입니까? 즉 setConfig ("userauth.publickey", "com.jcraft.jsch.UserAuthPublicKey") 그런 다음 어떻게 사용합니까? 문서가 드문 것처럼 보이고 도움을 주셔서 감사합니다. 내가 시도한 모든 것이 나에게 오류를 준다 :이 세션을 연결할 때 "인증 실패"JSch : ssh-keys를 사용하여 서버로 ssh하는 방법
고마워!
내가 사용하는 터널 방법은 다음과 같습니다. http://sourceforge.net/apps/mediawiki/jsch/index.php?title=ProxySSH 쓴 사람 덕분에!
문맥 상, Android 휴대 전화에서 학교의 서버로 읽고 쓰고 싶습니다.
두 번째 SSH는 사용자 이름을 사용하지 않으므로 세션을 인스턴스화 할 때 해당 필드에 대해 무엇을 사용해야합니까? 빈 문자열 또는 null? 즉 jsch.getSession (WHAT_GOES_HERE ?, hostname, 22); – Choobs
인증 실패 오류가 계속 발생합니다. id_rsa 및 id_rsa.pub가 로컬에 저장되어 있고 OpenSSH 키로 내보내는 데 PuTTYgen을 사용하여 addIdentity (...)에 사용했습니다. 내가 놓친 게 있니? 첫 번째 서버에는 /.ssh/authorized_keys 파일이 있습니다.이 파일은 관련성이있는 경우 id_rsa.pub의 복사본입니다. – Choobs
* 항상 * SSH 사용자 이름이 필요합니다.이 기능이 없으면 서버에 로그인 할 수 없습니다. (결국, 보낸 명령은 일부 로컬 사용자 계정에서 실행되어야합니다.) 그리고'.ssh/authorized_keys' 파일 (로그인이 허용 된 공개 키 포함)은 로그인하려는 사용자의 홈 디렉토리에 있어야합니다. –