포트 터널링을 통해 URL을 검색하는 Ant 스크립트를 작성하려고합니다. 내가 키 파일을 사용하는 경우 다음과 같이com.jcraft.jsch.JSchException : 인증 취소
<project default="main">
<target name="main">
<sshsession host="xxxx"
username="xxxx"
password="xxxx">
<LocalTunnel lport="1080" rhost="xxxx" rport="80"/>
<sequential>
<get src="http://localhost:1080/xxxx" dest="/tmp/xxxx"/>
</sequential>
</sshsession>
</target>
</project>
그러나이 작동하지 않습니다 :
<sshsession host="xxxx"
username="xxxx"
keyfile="/Users/xxxx/.ssh/id_dsa"
passphrase="xxxx">
<LocalTunnel lport="1080" rhost="xxxx" rport="80"/>
<sequential>
<get src="http://localhost:1080/xxxx" dest="/tmp/xxxx"/>
</sequential>
</sshsession>
내가 암호 (개인 정보 보호를 위해 밖으로 xxxx'd 이름)을 사용하는 경우
그것은 좋은 작품 나는 내가 C를 사용하고 확신
/tmp/build.xml:8: com.jcraft.jsch.JSchException: Auth cancel
at com.jcraft.jsch.Session.connect(Session.java:451)
at com.jcraft.jsch.Session.connect(Session.java:150)
at org.apache.tools.ant.taskdefs.optional.ssh.SSHBase.openSession(SSHBase.java:223)
- :
나는이 예외가 orkey keyfile (합법적 인 FileNotFoundException을 제공하는 잘못된 이름을 사용해 보았습니다).
- 암호를 묻지 않고 명령 줄에서 성공적으로 ssh 할 수 있습니다.
- 키 파일에 올바른 암호를 사용하고 있습니다.
이 오류의 원인은 무엇이며 어떻게해야합니까?
헉, 나는 소스 다운로드는 Jsch는 이유를 삼킨 것으로 보인다 : 키 암호가있는 경우
, 당신은
addIdentity
인수 목록에 추가 할 수 있습니다 JSchAuthCancelException을 호출하고 "AuthCancel"을보고합니다. 아무도 그것을 디버그하고 싶습니까? –