最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java客戶端連接ssh失敗問題的兩種解決方法

 更新時間:2026年01月07日 08:45:42   作者:東北小狐貍  
有的運維工具使用了java的ssh客戶端,這些客戶端和服務(wù)端間有時會出現(xiàn)加密算法協(xié)商失敗和主機密鑰類型協(xié)商失敗的問題,該問題是由于新客戶端/服務(wù)端禁用了相關(guān)的不安全算法和密鑰類型,本文簡要記錄下該問題的解決方法以備不時之需

問題現(xiàn)象

有的運維工具使用了java的ssh客戶端,這些客戶端和服務(wù)端間有時會出現(xiàn)加密算法協(xié)商失敗和主機密鑰類型協(xié)商失敗的問題,該問題是由于新客戶端/服務(wù)端禁用了相關(guān)的不安全算法和密鑰類型,本文簡要記錄下該問題的解決方法以備不時之需。

錯誤常見提示如下:

#加密算法協(xié)商失敗
Unable to negotiate with 192.168.56.99 port 54234: no matching key exchange method found. Their offer: diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 [preauth]

#主機密鑰類型協(xié)商失敗
Unable to negotiate with 192.168.56.99 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss [preauth]

解決方法

二選一:

較新的客戶端兼容舊服務(wù)端

以Jsch為例,升級新版本。

<dependency>
    <groupId>com.jcraft</groupId>
    <artifactId>jsch</artifactId>
    <version>0.1.55</version> <!-- 檢查最新版本 -->
</dependency>

代碼中配置連接屬性:

import com.jcraft.jsch.*;

public class SSHConnector {
    public static void main(String[] args) {
        try {
            JSch jsch = new JSch();
            
            // 設(shè)置支持的算法
            java.util.Properties config = new java.util.Properties();
            
            // 關(guān)鍵配置:指定算法
            config.put("kex", "diffie-hellman-group1-sha1,diffie-hellman-group14-sha1");
            config.put("server_host_key", "ssh-rsa,ssh-dss");
            config.put("cipher.s2c", "aes128-ctr,aes128-cbc,3des-cbc");
            config.put("cipher.c2s", "aes128-ctr,aes128-cbc,3des-cbc");
            config.put("mac.s2c", "hmac-sha1");
            config.put("mac.c2s", "hmac-sha1");
            
            Session session = jsch.getSession("username", "172.16.29.254", 22);
            session.setConfig(config);
            session.setPassword("password");
            session.setConfig("StrictHostKeyChecking", "no"); // 臨時測試用
            
            session.connect(30000); // 30秒超時
            System.out.println("連接成功");
            
            session.disconnect();
        } catch (JSchException e) {
            e.printStackTrace();
        }
    }
}

較新的服務(wù)端兼容舊客戶端

/etc/ssh/sshd_config追加以下內(nèi)容,這里添加的算法取決于Their offer后邊提示的類型,一般只添加部分即可,推薦使用+追加額外算法。

#解決no matching key exchange method found報錯
KexAlgorithms +diffie-hellman-group14-sha1
#解決no matching host key type found報錯
HostKeyAlgorithms +ssh-rsa

附查看服務(wù)端ssh支持算法

hellxz@hz:~$ sudo sshd -T | grep -E "^hostkeyalg|^kexalg"
kexalgorithms sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
hostkeyalgorithms ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256,ssh-rsa

到此這篇關(guān)于java客戶端連接ssh失敗問題的兩種解決方法的文章就介紹到這了,更多相關(guān)java客戶端連接ssh內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 減小Maven項目生成的JAR包體積實現(xiàn)提升運維效率

    減小Maven項目生成的JAR包體積實現(xiàn)提升運維效率

    在Maven構(gòu)建Java項目過程中,減小JAR包體積可通過排除不必要的依賴和使依賴jar包獨立于應(yīng)用jar包來實現(xiàn),在pom.xml文件中使用<exclusions>標簽排除不需要的依賴,有助于顯著降低JAR包大小,此外,將依賴打包到應(yīng)用外,可減少應(yīng)用包的體積
    2024-10-10
  • SpringBoot中的yml文件中讀取自定義配置信息及遇到問題小結(jié)

    SpringBoot中的yml文件中讀取自定義配置信息及遇到問題小結(jié)

    這篇文章主要介紹了SpringBoot中的yml文件中讀取自定義配置信息,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • Spring AI 文檔的提取、轉(zhuǎn)換、加載功能實現(xiàn)

    Spring AI 文檔的提取、轉(zhuǎn)換、加載功能實現(xiàn)

    Spring AI 是一個基于 Spring 生態(tài)系統(tǒng)的框架,旨在簡化人工智能和機器學習模型的集成,本文將介紹如何使用 Spring AI 和 Apache Tika 構(gòu)建一個簡單的 ETL 管道,特別是如何利用?spring-ai-tika-document-reader?依賴來處理和轉(zhuǎn)換文檔數(shù)據(jù),感興趣的朋友一起看看吧
    2024-11-11
  • Java基礎(chǔ)學習之關(guān)鍵字和變量數(shù)據(jù)類型的那些事

    Java基礎(chǔ)學習之關(guān)鍵字和變量數(shù)據(jù)類型的那些事

    變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來存儲各種類型的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)學習之關(guān)鍵字和變量數(shù)據(jù)類型的那些事,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • ShardingSphere解析SQL示例詳解

    ShardingSphere解析SQL示例詳解

    這篇文章主要為大家介紹了ShardingSphere解析SQL的示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-08-08
  • Java日期時間以及日期相互轉(zhuǎn)換

    Java日期時間以及日期相互轉(zhuǎn)換

    這篇文章主要為大家詳細介紹了Java日期時間,以及日期相互轉(zhuǎn)換的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • Java 關(guān)系運算符詳情及案例(上)

    Java 關(guān)系運算符詳情及案例(上)

    這篇文章主要介紹了Java 關(guān)系運算符詳情及案例實現(xiàn),Java 也提供了許多類型的運算符,可以根據(jù)需要使用它們來執(zhí)行各種計算和函數(shù),包括邏輯、算術(shù)、關(guān)系等。它們根據(jù)它們提供的功能進行分類,下面將詳細介紹該內(nèi)容,需要的朋友可以參考一下
    2021-12-12
  • JAVA找不到符號的三種解決方案

    JAVA找不到符號的三種解決方案

    這篇文章主要給大家介紹了關(guān)于JAVA找不到符號的三種解決方案, 找不到符號錯誤主要發(fā)生在我們試圖引用一個未在我們正在編譯的程序中聲明的變量時,這意味著編譯器不知道我們所引用的Java變量,需要的朋友可以參考下
    2024-03-03
  • SpringBoot添加SSL證書的方法

    SpringBoot添加SSL證書的方法

    HTTPS 實際上就是 HTTP + SSL,使我們的網(wǎng)站更加安全,地址欄上會有一把小鎖。那么如何在SpringBoot添加SSL證書,下面就一起來了解一下
    2021-05-05
  • Spring?MVC全局異常處理實戰(zhàn)詳細指南

    Spring?MVC全局異常處理實戰(zhàn)詳細指南

    在Spring MVC框架中統(tǒng)一異常處理是一項重要的功能,它能夠幫助開發(fā)者集中管理并標準化系統(tǒng)中的異常處理流程,提高代碼的可讀性和可維護性,這篇文章主要介紹了Spring?MVC全局異常處理實戰(zhàn)的相關(guān)資料,需要的朋友可以參考下
    2026-02-02

最新評論

远安县| 太和县| 奎屯市| 富裕县| 桐城市| 沾化县| 当涂县| 博罗县| 灵丘县| 禄丰县| 驻马店市| 潢川县| 瑞安市| 鸡东县| 内丘县| 定边县| 翼城县| 噶尔县| 广东省| 塔河县| 富蕴县| 平舆县| 区。| 焦作市| 武宣县| 宜黄县| 聂荣县| 饶阳县| 巨野县| 兴文县| 元朗区| 米脂县| 临城县| 商都县| 瓦房店市| 泰兴市| 枣庄市| 丹凤县| 南丹县| 齐河县| 六安市|