由於之前離職的同事配置了ssh 版本也比較舊 導致跳板機不上185這台機器 其他機器通過ssh也連接不上,於是決定升級openssh,全程使用腳本升級 升級之后原來的公鑰私鑰還在,但是發現其他機器ssh連接185服務器會報錯;
解決方法: /root/.ssh/known_hosts 刪除里面的指紋信息 ssh-keygen -R 192.168.1.185(由於我升級了ssh 所以需要輸入這條命令) 其他機器可以連接185了 但是我的235不能連接185 經過檢查發現235ssh配置文件中是禁止root登陸的 於是修改
現在235連接185了,但是通過235頁面自動授權時發現了一個問題 對於185的自動授權是不可以的,但是對別的機器可以授權;
報錯提示:
定位問題 是因為升級ssh導致的 (ssh6.7以上屏蔽不安全算法)
解決辦法:
paramiko模塊版本問題,重試另一台服務器,發現可以連接,排除客戶端問題;想起曾經自動部署工具ideploy連接不上的配置,於是比對/etc/ssh/sshd_conf和/usr/etc/sshd_conf文件,發現能連接上的機器比不能連接上的機器末尾多了一行加密算法
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
能連接的機器: linux-sn17:~ # ssh -V OpenSSH_6.2p2, OpenSSL 0.9.8j-fips 07 Jan 2009 不能連接的機器: root@linux-szge:/root # ssh -V OpenSSH_7.1p2, OpenSSL 1.0.1p 9 Jul 2015 (版本是不一樣的)
基本確認與上次JSch程序連接不上原因一致, ssh6.7以上版本屏蔽不安全算法,修改配置即可解決此問題
在/etc/ssh/sshd_conf和/usr/etc/sshd_conf兩個文件中添加
KexAlgorithms curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group1-sha1
再次測試:(成功)