利用java连接Linux服务器中碰到错误:Key exchange was not finished, connection is closed.,导致服务器的连接失败,报错如下
是ssh中的key交换算法不兼容导致
修改配置文件
vi /etc/ssh/sshd_config 添加如下内容
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org 重启服务
systemctl restart sshd 如果重新启动ssh出现错误Start operation timed out. Terminating.Failed to start openbsd secure shell server,可以尝试如下解决办法
关闭由systemctl控制的ssh启动
systemctl stop ssh.service 删除ssh的服务配置文件
rm /lib/systemd/system/ssh.service 重载systemctl和ssh服务
systemctl daemon-reload systemctl start ssh.service 祝大家好运