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

java客戶(hù)端連接ssh失敗問(wèn)題的兩種解決方法

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

問(wèn)題現(xiàn)象

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

錯(cuò)誤常見(jià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]

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

解決方法

二選一:

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

以Jsch為例,升級(jí)新版本。

<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"); // 臨時(shí)測(cè)試用
            
            session.connect(30000); // 30秒超時(shí)
            System.out.println("連接成功");
            
            session.disconnect();
        } catch (JSchException e) {
            e.printStackTrace();
        }
    }
}

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

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

#解決no matching key exchange method found報(bào)錯(cuò)
KexAlgorithms +diffie-hellman-group14-sha1
#解決no matching host key type found報(bào)錯(cuò)
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客戶(hù)端連接ssh失敗問(wèn)題的兩種解決方法的文章就介紹到這了,更多相關(guān)java客戶(hù)端連接ssh內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

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

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

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

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

    ShardingSphere解析SQL示例詳解

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

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

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

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

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

    JAVA找不到符號(hào)的三種解決方案

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

    SpringBoot添加SSL證書(shū)的方法

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

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

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

最新評(píng)論

北票市| 日照市| 前郭尔| 德江县| 泾川县| 桃园县| 玉环县| 嘉定区| 东源县| 贞丰县| 枞阳县| 鹤峰县| 宜川县| 佳木斯市| 金乡县| 德清县| 永安市| 花莲市| 牙克石市| 都江堰市| 碌曲县| 大名县| 柳林县| 武功县| 广州市| 怀来县| 通海县| 桃江县| 沈阳市| 谷城县| 通许县| 中超| 沛县| 张家界市| 凌海市| 信丰县| 湘阴县| 威信县| 郑州市| 曲靖市| 通山县|