1. 程式人生 > >解決secureCRT賬號密碼正確,無法連線伺服器,那大概因為不支援新的金鑰交換演算法

解決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多的,好像是。