com.jcraft.jsch.JSchException: Auth annuler
Je suis en train d'écrire un script Ant pour récupérer une URL via le port de tunneliers.
Il fonctionne très bien lorsque j'utilise un mot de passe (les noms xxxx suite de la vie privée):
<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>
Mais il ne fonctionne pas lorsque j'utilise un fichier de clés, comme ceci:
<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>
- Je obtenir cette exception:
/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)
- Je suis sûr que je suis en utilisant le bon fichier (j'ai essayé d'utiliser le mauvais nom, ce qui donne une légitime FileNotFoundException).
- Je peux avec succès ssh en ligne de commande, sans être invité pour un mot de passe.
- Je suis sûr que je suis en utilisant le bon mot de passe pour le fichier.
Ce qui est la cause de cette erreur et ce que je peux faire à ce sujet?
Ugh, j'ai téléchargé la source et il semble que Jsch avale la raison de la JSchAuthCancelException, et les rapports simplement "AuthCancel". Si quelqu'un veut le corriger?
OriginalL'auteur Dan Fabulich | 2010-05-25
Vous devez vous connecter pour publier un commentaire.
J'ai débogué le code. Ce n'était pas parce que ma clé privée n'était pas à l'authentification; JSch en silence retomba à l'authentification par mot de passe, qui a été annulé, parce que je n'ai pas de spécifier un mot de passe.
JSch erreur de manipulation suce beaucoup. Revenez sur vos pas, régénérer un (séparée) fichier de clé privée, l'utilisation
ssh -i
pour vous assurer d'utiliser le bon fichier, et de garder les doigts croisés.OriginalL'auteur Dan Fabulich
Pour obtenir le
jsch
connexion fonctionne, vous devez spécifier les chemins d'accès à la fois à l'known_hosts
fichier et le fichier contenant la clé privée. Ceci est fait en utilisant lasetKnownHosts
etaddIdentity
méthodes.Si la clé a un mot de passe, vous pouvez l'ajouter à la
addIdentity
liste d'arguments:Voir La Documentation Javadoc
OriginalL'auteur Oscar Bravo
J'ai eu le même problème lors de l'utilisation sshexec tâche. J'ai ajouté la phrase de passe attribut trop et il a bien fonctionné. créer un mot de passe de votre clé privée et ajouter un attribut dans votre tâche. Aussi n'oubliez pas de convertir votre clé privée pour ouvrir ssh format, si vous avez généré la clé à l'aide de puttygen sur windows.
OriginalL'auteur cnu
J'ai eu un Problème similaire aujourd'hui. J'ai donc pensé que je vais partager ma solution aswell. J'ai eu la même exception, mais le problème était en fait que j'ai eu un tréma au sein de mon mot de passe. après avoir choisi un nouveau mot de passe, sans elle, tout a bien fonctionné.
OriginalL'auteur kukudas
Il est une nouvelle marque de la fourche de Jsch maintenant. La gestion des exceptions est beaucoup plus complet. Pas plus de la déglutition ou de la cessation de paiement. Sur la tête de https://github.com/vngx/vngx-jsch de le vérifier. Si quelque chose ne fonctionne pas de la façon que vous attendez, s'il vous plaît faire comme un problème, ou envoyer une demande d'extraction que nous sommes activement à la maintenir. Nous sommes également à la recherche pour le ramener sur le maven central repos bientôt.
Ce commentaire n'est pas en aucune façon suggérer que c'est une baisse de remplacement ...Cela dit, si quelque chose ne fonctionne de la façon que vous attendez, qui est basée sur la documentation ne reposant PAS sur JSCH. Donc la première ligne : Il est une nouvelle marque de la FOURCHE de Jsch maintenant. La question a été fermé parce qu'il fonctionne comme prévu.
OriginalL'auteur Scott