记录一次远程主机连接异常
问题说明
服务器可与远程主机保持通信,且有文件操作权限。部署程序下载远程主机文件时,抛出Session.connect java.io.IOException: End of IO Stream Read异常,如图:
解决方案
步骤1:
验证主机操作权限。
步骤二:
查看远程主机ssh密钥加密方式:
使用ssh -v ip port命令,查看远端主机ssh版本,远程主机密钥加密方式如下:
本地使用jsch-0.1.52.jar连接sftp;找到版本com.jcraft.jsch.jsch.java,
查看该版本所支持的密钥加密方式;如图:
可见该版本并不支持远程主机的密钥加密方式,现寻找更高版本的jsch,
最终从github查询到支持该密钥加密算法的jsch-0.2.13.jar,替换本地依赖。
github地址如下:https://github.com/mwiede/jsch。如图: