解決secureCRT賬號密碼正確,無法連線伺服器,那大概因為不支援新的金鑰交換演算法
連線比較新版本的linux類伺服器,是否出現下面這些問題?
或者是openstack新建centos7映象的時候,無法連線新建立的centos7系統。
我百度或者谷歌好像都沒有找到答案啊,所以才寫這篇文章的。
問題1:
The client has disconnected from the server. Reason:
The server's host key failed to verify. This could mean that the server you are connected to is impersonating the server it claims to be. A connection could not be established
問題2:
Key exchange failed. No compatible hostkey. The server supports these methods: ecdsa-sha2-nistp256,ssh-ed25519
問題3:
RSA_public_decrypt failed: error:0407006A:rsa routines:RSA_padding_check_PKCS1_type_1:block type is not 01
問題4:
Server's host key did not match the signature supplied
問題5:
伺服器傳送了一個無效的主機金鑰
OK了。問題差不多都是這種了。
首先說解決的方法
解決的方法,其實都是很通用的,就是新增支援對應ecdsa的交換加密演算法。
這裡就拿secureCRT舉例了:
1.首先CRT需要下載等於或者高於8.1的版本,不然太久,真的沒有這個演算法
2.然後在CRT新建連線的時候,在這個位置新增支援的演算法,然後遮蔽其他的加密演算法。
只保留這4種演算法就好了,其他的暫時先遮蔽。(圖片看不清楚,可以點選放大)
3. 然後就可以連線了。
其實我自己的感覺就是,舊版的ssh客戶端不支援新版的交換金鑰演算法吧,
其實我也是不是很清楚的,但是就是這樣稀裡糊塗解決的,希望幫到大家,
下面我再說一下我今天解決一天的過程,首先,第一個突破點就是,用舊版的centos6不能連線openstack建立的
centos7,但是不知道為什麼,一開始我測試的時候,我用的是ubuntu和macbook去訪問的,可以訪問的,
所以我一開始不知道其他系統是不能訪問centos7這回事的。
然後冥冥之中,我發現了ubuntu和mac,再接受遠端伺服器的金鑰的種類,居然都是ECDSA型別,
然後我剛好又發現了centos7和其他低版本的ssh客戶端都只用接受RSA型別,所以這個解決問題
的方向就是更換高版本的ssh客戶端了。
順便我再說一下,mac和ubuntu的ssh客戶端的版本是7.x的,然後centos6的版本是5.x多的,好像是。