Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

修正済み:一致する鍵交換メソッドが見つかりません

sshを使用してリモートサーバーに接続しようとすると、使用する暗号化アルゴリズムを提案する前に、一致するキー交換方法が見つからないというエラーが表示される場合があります。エラーが発生するたびに、リモートサーバーに接続できなくなります。このプロセスは非常に苛立たしいものになる可能性がありますが、エラーは非常に一般的であるため、Unixタイプがそれをどのように経験しているかについて話し、森から抜け出すために同じアドバイスを与えることがよくあります。

エラーを修正するための次の方法は、sshが機能するすべてのものでテストされていますが、UnixおよびLinuxシステムでこの問題が発生する可能性があります。 Windowsなどでsshを実行している場合は、同じプロセスを使用して修正できるはずですが、切り替えオプションが少し異なる場合があります。

方法1:サーバーへの再接続とキーの再生成

他のことをする前に、エラーを再現できることを確認してください。このエラーメッセージは、現在実行されていないリモートサイドサービスがあるために発生する場合がありますが、その間に修正された可能性があります。ドキュメントで承認されたexample.orgに設定された偽のサーバーアドレスへの接続を許可する仮想マシンでsshを実行していましたが、代わりに実際のネットワークアドレスに置き換える必要があります。

修正済み:一致する鍵交換メソッドが見つかりません

それでも受信する場合は、 ssh-keygen -Aを使用してキーを再生成してみてください コマンドプロンプトから。これにより、sshアプリケーションがリモートサーバーへの接続に使用するキャッシュが更新されます。それを除けば、 service ssh restartを実行してsshを再起動してみてください。 少し時間をとってください。

それでも問題が発生する場合は、サーバーとクライアントが使用する適切なプロトコルに同意できなかったことを意味します。 OpenSSHは、目がくらむほどのさまざまなプロトコルの配列を実装していますが、これらのプロトコルは危険にさらされていることがわかっているため安全ではないため、これらのプロトコルの多くを無効にします。方程式のサーバー側ですべてのsshパッケージを更新する必要があるため、システム管理者が何が起こっているかを認識していることを確認してください。独自のサーバーの場合は、少し時間を取って更新してください。

これが選択肢ではなく、侵害されたアルゴリズムを使用することの危険性を認識している場合は、このエラーメッセージをバイパスするクライアント側の方法があります。

方法2:OpenSSHでレガシーオプションを有効にする

彼らの申し出の後にエラーメッセージが何を読んでいるかを見てください:リモートサーバーがどのアルゴリズムを好むかを見てください。ほとんどのシステムはopenssh7を使用しているはずですが、これは古い廃止されたdiffie-hellman-group1-sha1テクノロジーをすでに無効にしていますが、openssh6などでスタックしている場合は、sha1を使用するように指示されます。

ssh -oKexAlgorithms =+ diffie-hellman-group1-sha1 testhost@example.orgを実行します リモートサーバーの実際のネットワークホストまたはIPアドレスが何であれ、クライアント側でこの問題を修正します。これで問題が解決した場合は、接続する古いsha1ベースのプロトコルを探していました。この古いsha1ベースのソリューションは、正当な理由で無効にされましたが、nanoまたはvimエディターを使用して〜/ .ssh / configファイルを開き、行を追加することで、より永続的にバイパスできます。

ホストexample.org

KexAlgorithms + diffie-hellman-group1-sha1

より安全なデフォルトを置き換えるのではなく、sshが追加されることを意味するため、プラス記号がそこにあることを確認する必要があることに注意してください。サーバーがパッケージを更新するときは、ほとんどの場合、より安全なプロトコルを使用します。

それ以前にsha1バージョンではなくssh-dssプロトコルに関するエラーを受け取った場合は、代わりに次のコマンドに続けてホストの名前を試すことができます: ssh -oHostKeyAlgorithms =+ ssh-dss 、それが機能する場合は、〜/ .ssh/configファイルを再度編集する必要があります。ホスト行の後に、タブと以下を追加します。

HostKeyAlgorithms + ssh-dss

sha1システムと同様に、ssh-dssキーは、それに関連する非常に合理的なセキュリティ問題のために非推奨になっていることを忘れないでください。これを使用すると、接続に脆弱性が導入される可能性があるため、それでも一時的な修正としてのみ検討する必要があります。できるだけ早くサーバーを更新してください。


  1. Microsoft AzureでSSHキーペアを作成し、Ubuntuサーバーに追加します

    Azureの仮想マシンへの接続は、資格情報またはSSHを使用して確立できます。 SSH(Secure Shell)は、暗号化された接続を介してホストマシンにリモート接続するために使用されるプロトコルです。スイッチ、ルーター、VMware、Linux、またはSSH接続をサポートする任意のホストに接続するために使用できます。 。この記事では、SSHキーを作成し、Azureにインストールされている新しいUbuntu Server18.04LTSに追加する方法を説明します。 SSHは、秘密鍵と公開鍵の2つの鍵で構成されています。公開鍵はLinuxVMに配置され、秘密鍵はIDを確認するために提示するも

  2. Windows 10 で SSH キーを生成する方法

    Windows 環境での SSH キーの生成は、サードパーティ ツールのインストールを必要とする複雑なプロセスでした。 Windows 10 の 2018 年 4 月の更新以降、Windows には OpenSSH クライアントがプリインストールされて出荷されています。つまり、ssh-keygen を使用して SSH キーを生成できます。プロセス全体を順を追って説明します。 最初に、OpenSSH がマシンにインストールされていることを確認する必要があります。以前のバージョンの Windows 10 からアップグレードした場合は、手動で有効にする必要がある場合があります。設定アプリを起動