Docker: Jenkins master容器內ssh無法訪問slalve問題(SSH2_MSG_KEX_ECDH_REPLY)

Docker: Jenkins master容器內ssh無法訪問slalve問題(SSH2_MSG_KEX_ECDH_REPLY)

一、問題(SSH2_MSG_KEX_ECDH_REPLY)

  1. 環境:centos 7, docker 19.03.8
  2. 現象:master容器可以ping通slave IP, 但是ssh失敗。ssh -vvv顯示報錯:debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
    在這裏插入圖片描述
    在這裏插入圖片描述
    在這裏插入圖片描述

二、原因

因爲兩臺服務器在不同網段,通過VPN訪問。VPN中MTU最大值是1200,而默認MTU是1500。需修改其值。

三、配置Docker

在Jenkins容器的外層主機(docker服務器)中,添加如下內容到/etc/docker/daemon.json,並重啓docker服務器:

# vim /etc/docker/daemon.json
{
  "mtu": 1200
}
# sudo systemctl restart docker
# sudo docker exec -it xxx bash
# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
169: eth0@if170: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1200 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever

問題解決,成功ssh到slave。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章