Tengo un problema extraño con sshj (estoy usando sshj v0.6.0) para el que necesitaría ayuda de alguien. La autenticación con clave pública funciona bien en algunas máquinas, pero no funciona bien en otras máquinas y veo el siguiente error.Tratando con "[HOST_KEY_NOT_VERIFIABLE] No se pudo verificar la clave de host 'ssh-rsa` con huella digital" en sshj
La única diferencia que pude ver fue que el ID de UNIX en Coonradt pregunta a saber parece tener la configuración siguiente configuración que aparece en ~/.ssh/config sólo en la casilla en la que los errores a continuación se activan
Host *
Protocol 1,2
FallBackToRsh no
ForwardAgent yes
ForwardX11 yes
PasswordAuthentication yes
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
NoHostAuthenticationForLocalhost yes
StrictHostKeyChecking no
KeepAlive yes
A partir del archivo de configuración anterior, me enteré de que la identificación en cuestión debe usar el protocolo 1,2 y sospecho que esto podría tener algo que ver con mis fallas (no estoy muy seguro, pero esto es sólo una corazonada)
Para todos los demás ID de UNIX para los que funciona bien, no tengo ningún archivo de configuración.
PD: No puedo modificar la configuración de la ID de UNIX "coonradt" ya que esta identificación está siendo utilizada por los servidores hudson centrales.
agradecería si alguien podría por favor ayuda me sugieren en cuanto a lo que podría estar mal aquí
A continuación se presenta el error que estoy viendo:
Oct 24, 2011 2:30:37 AM net.schmizz.sshj.DefaultConfig initCipherFactories
WARNING: Disabling high-strength ciphers: cipher strengths apparently limited by JCE policy
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.TransportImpl init
INFO: Client identity string: SSH-2.0-SSHJ_0_6_0
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.TransportImpl init
INFO: Server identity string: SSH-1.99-OpenSSH_4.3
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.KeyExchanger sendKexInit
INFO: Sending SSH_MSG_KEXINIT
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.KeyExchanger handle
INFO: Received SSH_MSG_KEXINIT
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.kex.AbstractDHG init
INFO: Sending SSH_MSG_KEXDH_INIT
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.KeyExchanger handle
INFO: Received kex followup data
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.kex.AbstractDHG next
INFO: Received SSH_MSG_KEXDH_REPLY
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.TransportImpl die
SEVERE: Dying because - net.schmizz.sshj.transport.TransportException: [HOST_KEY_NOT_VERIFIABLE] Could not verify `ssh-rsa` host key with fingerprint `ca:0b:b3:7f:53:5a:e3:bc:bf:44:63:d8:2d:26:c0:41` for `mymachine.domain.com` on port 22
Oct 24, 2011 2:30:38 AM net.schmizz.concurrent.Promise tryRetrieve
SEVERE: <<kex done>> woke to: net.schmizz.sshj.transport.TransportException: [HOST_KEY_NOT_VERIFIABLE] Could not verify `ssh-rsa` host key with fingerprint `ca:0b:b3:7f:53:5a:e3:bc:bf:44:63:d8:2d:26:c0:41` for `mymachine.domain.com` on port 22
Oct 24, 2011 2:30:38 AM net.schmizz.sshj.transport.TransportImpl setService
INFO: Setting active service to null-service
Oct 24, 2011 2:30:38 AM com.test.jaws.execution.ssh.impl.SSHJClientImpl$ExceptionHandler handleSevereCondition
SEVERE: mymachine.domain.com is not added to your /x/home/coonradt/.ssh/known_hosts file.
Throwable occurred: net.schmizz.sshj.transport.TransportException: [HOST_KEY_NOT_VERIFIABLE] Could not verify `ssh-rsa` host key with fingerprint `ca:0b:b3:7f:53:5a:e3:bc:bf:44:63:d8:2d:26:c0:41` for `mymachine.domain.com` on port 22
at net.schmizz.sshj.transport.KeyExchanger.verifyHost(KeyExchanger.java:222)
at net.schmizz.sshj.transport.KeyExchanger.handle(KeyExchanger.java:373)
at net.schmizz.sshj.transport.TransportImpl.handle(TransportImpl.java:477)
at net.schmizz.sshj.transport.Decoder.decode(Decoder.java:127)
at net.schmizz.sshj.transport.Decoder.received(Decoder.java:195)
at net.schmizz.sshj.transport.Reader.run(Reader.java:72)
Creo que el problema está en la configuración de usuario coonradt, consulte el aviso SEVERE: "SEVERE: mymachine.domain.com no se agrega a su /x/home/coonradt/.ssh/known_hosts file. ". Probablemente deberías arreglar esto ;-) –
Hola, muchas gracias por la pronta respuesta. ¿Pero puedes sugerir cuál debería ser la solución para el usuario? ¿Significa que tendría que deshacerme del Protocolo? sección en el archivo de configuración? Tenía la esperanza de que sshj de alguna manera me permitiera especificar la versión del protocolo también que se puede utilizar (Por favor, tenga paciencia con mi ingenuidad si eso sonaba galimatías, pero como confesé antes no sé demasiado sobre el funcionamiento interno de cómo funciona ssh) –
Realmente tiene muy poco que ver con el protocolo (de hecho, nada en lo que se refiere a este mensaje). Lo que debe suceder es que el archivo '/ x/home/coonradt /.ssh/known_hosts 'debe contener la huella digital de su cliente en este caso. Creo que ha tropezado con una medida de seguridad que no todas las máquinas se pueden conectar usando ese usuario a ese servidor. –