情景:
客户端ssh版本是6.6,服务端ssh版本是7.3。
sftp请求时报错ava.io.IOException: End of IO Stream Read。
后来查询得知是版本不一致导致,openSSH7.3默认屏蔽了jdk1.6支持的加密算法,如:diffie-hellman-group1-sha1等.
解决方案:
修改服务端ssh7.3中config配置,添加支持该算法的配置。
在/etc/ssh/sshd_conf或/usr/etc/sshd_conf两个文件中添加
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
记得刷新配置或重启ssh服务