Jsch连接服务器失败解决办法其他工具可以连接成功但是Jsch不行解决办法

简介: Jsch连接服务器失败解决办法其他工具可以连接成功但是Jsch不行解决办法

1.问题描述:

  1. 检查用户权限:存在权限配置上的差异。
  2. 检查SSH服务配置:SSH配置,可能存在一些差异。检查/etc/ssh/sshd_config文件,确保其中没有禁用密码验证或限制了登录用户的权限。
  3. 检查防火墙设置:防火墙可能会阻止SSH连接。防火墙设置允许SSH连接。
  4. 尝试其他认证方式:如果密码认证不起作用,可以尝试使用公钥认证。在JSch中,你可以使用addIdentity方法添加私钥文件路径,然后使用publickey验证方式进行连接。
  5. 更新JSch库:如果以上方法都不起作用
  6. 查看日志:查看/var/log/auth.log会提供有关认证失败的详细信息,有助于确定问题的根本原因。

2.代码配置

import com.jcraft.jsch.*;  
  
public class JSchExample {  
    public static void main(String[] args) {  
        String host = "your-remote-host";  
        String user = "your-username";  
        String password = "your-password";  
  
        try {  
            JSch jsch = new JSch();  
            jsch.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password,aes128-ctr");  
            jsch.setConfig("KexAlgorithms", "aes128-ctr");  
            jsch.setConfig("HostKeyAlgorithms", "ssh-rsa");  
              
            Session session = jsch.getSession(user, host, 22);  
            session.setPassword(password);  
            session.connect();  
              
            // 进行其他操作...  
              
            session.disconnect();  
        } catch (JSchException e) {  
            e.printStackTrace();  
        }  
    }  
}

3.还有一种这种不建议不太安全

import com.jcraft.jsch.*;  
  
public class JSchExample {  
    public static void main(String[] args) {  
        String host = "your-remote-host";  
        String user = "your-username";  
        String password = "your-password";  
  
        try {  
            JSch jsch = new JSch();  
            jsch.setConfig("PreferredAuthentications", "publickey,keyboard-interactive,password,diffie-hellman-group1-sha1");  
            jsch.setConfig("KexAlgorithms", "diffie-hellman-group1-sha1");  
            jsch.setConfig("HostKeyAlgorithms", "ssh-rsa");  
              
            Session session = jsch.getSession(user, host, 22);  
            session.setPassword(password);  
            session.connect();  
              
            // 进行其他操作...  
              
            session.disconnect();  
        } catch (JSchException e) {  
            e.printStackTrace();  
        }  
    }  
}

4.如果以上都不行启用终极大法

修改路径:/etc/ssh下的sshd_config
 
在结尾添加: KexAlgorithms +diffie-hellman-group1-sha1
 
然后重启sshd:service sshd restart
 
如果还不行可以修改:ssh_config  也是添加 :KexAlgorithms +diffie-hellman-group1-sha1
 
java代码按下面方式编写:
 
Session session = null;
 
JSch jsch = new JSch();
 
try {
 
session = jsch.getSession(username, host, port);
 
session.setPassword(password);
 
session.setTimeout(5 * 60 * 1000);
 
session.setConfig("StrictHostKeyChecking", "no");//是否验证主机秘钥
 
Properties sshConfig = new Properties();
 
sshConfig.put("kex", "diffie-hellman-group1-sha1");
 
session.connect();
 
} catch (Exception e) {
 
throw new Exception("连接linux服务器时出错:" + e.getMessage());
 
}
目录
打赏
0
0
0
0
81
分享
相关文章
|
4月前
|
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
java小工具util系列5:java文件相关操作工具,包括读取服务器路径下文件,删除文件及子文件,删除文件夹等方法
118 9
推荐几个不错的 Linux 服务器管理工具
推荐几个不错的 Linux 服务器管理工具
234 6
Linux系统之安装Ward服务器监控工具
【10月更文挑战第17天】Linux系统之安装Ward服务器监控工具
101 5
Linux系统之安装Ward服务器监控工具
如何设置一个有效的远程管理工具来简化服务器的维护工作?
如何设置一个有效的远程管理工具来简化服务器的维护工作?
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
2223 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
通过远程桌面连接Windows服务器提示“由于协议错误,会话将被中断,请重新连接到远程计算机”错误怎么办?
2025年阿里云GPU服务器租用价格、选型策略与应用场景详解
随着AI与高性能计算需求的增长,阿里云提供了多种GPU实例,如NVIDIA V100、A10、T4等,适配不同场景。2025年重点实例中,V100实例GN6v单月3830元起,适合大规模训练;A10实例GN7i单月3213.99元起,适用于混合负载。计费模式有按量付费和包年包月,后者成本更低。针对AI训练、图形渲染及轻量级推理等场景,推荐不同配置以优化成本和性能。阿里云还提供抢占式实例、ESSD云盘等资源优化策略,支持eRDMA网络加速和倚天ARM架构,助力企业在2025年实现智能计算的效率与成本最优平衡。 (该简介为原文内容的高度概括,符合要求的字符限制。)
2025年阿里云企业云服务器ECS选购与配置全攻略
本文介绍了阿里云服务器的核心配置选择方法论,涵盖算力需求分析、网络与存储设计、地域部署策略三大维度。针对不同业务场景,如初创企业官网和AI模型训练平台,提供了具体配置方案。同时,详细讲解了购买操作指南及长期运维优化建议,帮助用户快速实现业务上云并确保高效运行。访问阿里云官方资源聚合平台可获取更多最新产品动态和技术支持。
阿里云出手了,DeepSeek服务器拒绝繁忙,免费部署DeepSeek模型671B满血版
阿里云推出免费部署DeepSeek模型671B满血版服务,通过百炼大模型平台,用户无需编码,最快5分钟、最低0元即可完成部署。平台提供100万免费Token,支持DeepSeek-R1和DeepSeek-V3等多款模型调用,有效解决服务器繁忙问题。新手零基础也能轻松上手,享受高效稳定的API调用和自动弹性扩展功能。教程涵盖开通服务、获取API-KEY及配置Chatbox客户端等步骤,详细指引助您快速实现DeepSeek自由。
128 18
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等