Tôi gặp sự cố lạ với sshj (đang sử dụng sshj v0.6.0) mà tôi cần một số trợ giúp từ ai đó. Xác thực bằng khóa công khai hoạt động tốt trên một số máy nhưng không hoạt động tốt trên các máy khác và tôi thấy lỗi dưới đây.Đối phó với "[HOST_KEY_NOT_VERIFIABLE] Không thể xác minh khóa máy chủ` ssh-rsa` bằng dấu vân tay "trong sshj
Sự khác biệt duy nhất mà tôi có thể tạo ra là UNIX ID trong câu hỏi viz coonradt dường như có cấu hình được liệt kê dưới đây dưới ~/.ssh/config chỉ trên hộp mà các lỗi dưới đây đang được kích hoạt
Host *
Protocol 1,2
FallBackToRsh no
ForwardAgent yes
ForwardX11 yes
PasswordAuthentication yes
RhostsAuthentication no
RhostsRSAAuthentication no
RSAAuthentication yes
NoHostAuthenticationForLocalhost yes
StrictHostKeyChecking no
KeepAlive yes
Từ tệp cấu hình ở trên, tôi đã biết rằng ID được đề cập được sử dụng Giao thức 1,2 và tôi nghi ngờ rằng điều này có thể liên quan đến lỗi của tôi (tôi không chắc chắn về điều đó, nhưng đây chỉ là linh cảm)
Đối với tất cả các ID UNIX khác mà tác phẩm này hoạt động tốt, tôi không có bất kỳ tệp cấu hình nào như vậy.
PS: Tôi không thể thay đổi cấu hình của ID UNIX "coonradt" vì ID này đang được các máy chủ hudson trung tâm sử dụng.
sẽ đánh giá cao nếu ai đó có thể vui lòng giúp tôi gợi ý như những gì có thể là sai ở đây
Sau đây là những lỗi mà tôi đang nhìn thấy:
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)
Tôi nghĩ rằng vấn đề thực sự là với cấu hình người dùng coonradt, xem thông báo SEVERE: "SEVERE: mymachine.domain.com không được thêm vào tệp /x/home/coonradt/.ssh/known_hosts của bạn. "Có lẽ bạn nên sửa lỗi này ;-) –
Xin cảm ơn bạn rất nhiều vì câu trả lời nhanh chóng. Nhưng bạn có thể đề xuất cách sửa lỗi sẽ được sửa cho người dùng không? Có nghĩa là tôi sẽ phải loại bỏ Giao thức Tôi đã hy vọng rằng sshj bằng cách nào đó sẽ cho phép tôi chỉ định phiên bản giao thức cũng có thể được sử dụng (Xin vui lòng chịu sự ngây thơ của tôi nếu có vẻ vô nghĩa, nhưng như tôi thú nhận trước khi tôi không biết quá nhiều trên internals về cách thức hoạt động của ssh) –
Nó thực sự có rất ít việc phải làm với giao thức (trên thực tế, không có gì liên quan đến thông điệp này). Điều gì cần xảy ra là tệp '/ x/home/coonradt /.ssh/known_hosts 'phải chứa dấu vân tay của ứng dụng khách trong trường hợp này. Tôi nghĩ rằng bạn đã tình cờ gặp một biện pháp bảo mật mà không phải mọi máy tính đều có thể kết nối bằng cách sử dụng người dùng đó với máy chủ đó. –