Mam dziwny problem z sshj (używam sshj v0.6.0), dla którego potrzebowałbym pomocy od kogoś. Uwierzytelnianie za pomocą klucza publicznego działa dobrze na niektórych komputerach, ale nie działa dobrze na innych komputerach i widzę poniższy błąd.Radzenie sobie z "[HOST_KEY_NOT_VERIFIABLE] Nie można zweryfikować klucza` ssh-rsa` z odciskami palca "w sshj
Jedyna różnica, że mogę zrozumieć, że UNIX ID w pytanie mianowicie coonradt wydaje się mieć niżej wymienionych ustawień konfiguracyjnych w ~/.ssh/config tylko na polu, na którym poniżej błędy są wyzwalane
Host *
Protocol 1,2
FallBackToRsh no
ForwardAgent yes
ForwardX11 yes
PasswordAuthentication yes
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
NoHostAuthenticationForLocalhost yes
StrictHostKeyChecking no
KeepAlive yes
Z powyższego pliku konfiguracyjnego dowiedziałem się, że dany identyfikator powinien wykorzystywać protokół 1,2 i podejrzewam, że może to mieć coś wspólnego z moimi niepowodzeniami (nie jestem do końca pewny, ale to tylko przeczucie)
Dla wszystkich innych identyfikatorów UNIX, dla których to działa dobrze, nie mam żadnego takiego pliku konfiguracyjnego.
PS: Nie mogę zmienić konfiguracji identyfikatora UNIX "coonradt", ponieważ ten identyfikator jest używany przez centralne serwery hudson.
Czy wdzięczni, jeśli ktoś może mi pomóc, aby zasugerować co może być źle tutaj
Poniżej znajduje się błąd, że widzę:
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)
Myślę, że problem dotyczy właśnie konfiguracji użytkownika coonradt, patrz ostrzeżenie SEVERE: "SEVERE: plik mymachine.domena.com nie został dodany do pliku /x/home/coonradt/.ssh/known_hosts. "Powinieneś to naprawić ;-) –
Cześć, dziękuję bardzo za szybką odpowiedź, ale czy możesz zasugerować, co powinna naprawić dana użytkownikowi? Czy to oznacza, że musiałbym pozbyć się protokołu? Miałem nadzieję, że sshj w jakiś sposób pozwoli mi na określenie wersji protokołu, która może być użyta (proszę o zachowanie mojej naiwności, jeśli brzmi to bełkotliwie, ale jak wyznałem, nie wiem zbyt wiele o wnętrzach o tym, jak działa ssh) –
W rzeczywistości ma bardzo niewiele wspólnego z protokołem (w rzeczywistości, nic tak daleko, jak ta wiadomość dotyczy.) Co musi się stać, że plik "/ x/home/coonradt /.ssh/known_hosts "powinien w tym przypadku zawierać odcisk palca twojego klienta. Sądzę, że natknąłeś się na środek bezpieczeństwa, którego nie każdy komputer może połączyć, używając tego użytkownika do tego serwera. –