【发布时间】:2014-08-22 13:21:04
【问题描述】:
我正在尝试使用 SSHJ 将 ssh 连接到其他机器。下面的 PFA 代码(排除 try/catch/finally 块)。
Security.addProvider(new org.bouncycastle.jce.provider.BouncyCastleProvider());
final SSHClient sshClient = new SSHClient();
sshClient.addHostKeyVerifier(new PromiscuousVerifier());
sshClient.connect("test-hostname");
sshClient.authPublickey("test-user", private_key_path);
Session session = sshClient.startSession();
Session.Command cmd = session.exec(TEST_SSH_COMMAND);
cmd.join(5, TimeUnit.SECONDS);
if(cmd.getExitStatus() == 0) {
System.out.println("Success");
}
当我尝试执行上述程序时,出现以下错误
[reader] n.s.sshj.transport.TransportImpl - Dying because -net.schmizz.sshj.transport.TransportException: Unable to reach a settlement: [] and [aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, rijndael-cbc@lysator.liu.se]
2014-07-01 20:45:09,021 INFO [reader] n.s.sshj.transport.TransportImpl - Disconnected - UNKNOWN
2014-07-01 20:45:09,023 ERROR [pool-3-thread-1] net.schmizz.concurrent.Promise - <<kex done>> woke to: net.schmizz.sshj.transport.TransportException: Unable to reach a settlement: [] and [aes128-ctr, aes192-ctr, aes256-ctr, arcfour256, arcfour128, aes128-cbc, 3des-cbc, blowfish-cbc, cast128-cbc, aes192-cbc, aes256-cbc, arcfour, rijndael-cbc@lysator.liu.se]
2014-07-01 20:45:09,024 信息 [pool-3-thread-1] n.s.sshj.transport.TransportImpl - 已断开连接 - BY_APPLICATION
谁能帮我调试一下这个问题。
谢谢。
【问题讨论】:
-
你得到这个答案了吗?我也遇到同样的错误
-
不,我没有得到任何答复。我开始使用 JSch,它运行良好。
-
你能把相同的 Jsch 客户端代码粘贴到这里吗?我需要紧急修复它。这将是一个很大的帮助!
-
我在下面粘贴了JSch客户端代码供您参考。