该篇文章主要讲Java中用Jsch连接远程服务器的操作,并且解决通过密钥登录时爆com.jcraft.jsch.JSchException: invalid privatekey的bug,本文用两种方式实现远程连接,一个是自己手写工具类,第二个是用hutool的工具依赖
方案一
如果你反复确认过你的密钥文件和路径都是没有问题的,而且你的终端是可以通过密钥的方式链接到远程服务器的,那么这里的com.jcraft.jsch.JSchException: invalid privatekey 问题很大可能是密钥版本的问题。大家现在新的电脑或者操作系统默认生成的ssh 密钥文件是大于openssh V8的.而jsch支持的是V8以下版本的,所以jsch识别不了新版本的密钥证书。解决方法是生成新的密钥证书,命令如下:
方案二
直接替换Maven依赖,推荐这种做法,对代码不需要调整,只换Maven依赖即可
到此,关于Java使用jsch连接远程服务器的问题结束,希望对大家有所帮助!!
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/9427.html