停止方法:[MyIP]ポート22とネゴシエートできません。一致する鍵交換方法が見つかりません。彼らの引用:diffie-hellman-group1-sha1

停止方法:[MyIP]ポート22とネゴシエートできません。一致する鍵交換方法が見つかりません。彼らの引用:diffie-hellman-group1-sha1

私はすべてのメールやその他の資料がまとめられているホストされたLinuxサーバーを継承しました。 Debian Linuxを使用してください。

10年間何も触れていないようですが、かなり古いものですね。

SSH経由で接続しようとするたびに、次のフレーズが表示されます。

Unable to negotiate with [MyIP] port 22: no matching key exchange method
found. Their offer: diffie-hellman-group1-sha1

私は次の正しいコマンドを知っています。

ssh -oKexAlgorithms=diffie-hellman-group1-sha1 -c aes128-cbc root@[MyIP]

しかし、私が本当に理解していないのはなぜこれが起こっているのか、そしてこれが起こらないようにするにはどうすればよいですか?

SSHバージョンが古すぎる?または、ログインに問題なくSSHを更新できますか?

Debian ですか? SSH / BashでDebianを更新できますか?

ベストアンサー1

あなたが受け取ったサーバーが非常に古いバージョンのDebianを実行しているようです。あなたが言ったように10年間アップグレードされていない場合は、おそらくSqueezeまたはWheezyを実行しています。どちらも古いものなので、公共のインターネットで本番用に使用しないでください。

どのバージョンかを調べるには、、/etc/debian_versionなど/etc/os-release/etc/motdファイルを見てください/etc/issue。また、/etc/apt/sources.listディレクトリ内のすべてのファイルと同様に、インストールされている/etc/apt/sources.list.d/Debianのバージョンを知ることは重要で有用な情報です。特に最新バージョンにアップグレードしたい場合はさらにそうです。

サーバーの処理方法に関する完全なステップバイステップのガイドラインを提供することは不可能なので、以下はいくつかの便利なヒントです。

  1. この...no matching key exchange method...エラー メッセージは、サーバーがsshd使用されなくなった暗号化および鍵交換方法を使用する以前のバージョンを実行しているために発生します。

    できるだけ早くアップグレードする必要がありますが(古いパスワードは良い理由で廃止されました)、その間にsshサーバーに接続するときに常に使用されるようにローカルクライアントを構成できます。以下を編集して追加します。diffie-hellman-group1-sha1aes128-cbc~/.ssh/config

    Host your_server_name
     KexAlgorithms diffie-hellman-group1-sha1
     Ciphers aes128-cbc
    

    「your_server_name」の代わりに(または追加で)サーバーのIPアドレスを使用することもできます。ただし、sshdサーバーを最新バージョンにアップグレードした後は、この操作を元に戻すことを忘れないでください。

  2. サーバーがDebianを実行している場合はアップグレードできます。bashコマンドラインからsshを介して問題なくリモートでアップグレードできます。これらのグラフィックツールではなく、またはapt他のコマンドラインツールを使用する必要がありますが、Debianは内部でアップグレードするように設計されています。apt-getaptitudesynaptic

    推奨される手順は、現在実行中のバージョンから次のバージョンに一度に1つのバージョンをアップグレードすることです。たとえば、現在Debian 6("Squeeze")がインストールされている場合、Debian 7("Wheezy")にアップグレードしてからDebian 8("Jessie")にアップグレードする方法でDebian 11("雄牛の目" ") ) . Debian リリース履歴とバージョン番号/名前の指定に関する良い要約があります。https://en.wikipedia.org/wiki/Debian_version_history

    ところで、「推奨プログラム」という言葉は、Debian が実際に 1 つのリリースから次のリリースへのアップグレードの成功だけを保証するということです。場合によっては、一度に複数のバージョンにジャンプすることは可能ですが、特にコンピュータに物理的にアクセスできない場合、またはインストールされているDebianのバージョンが古すぎる場合は、試しないことをお勧めします。これにより、システムが損傷する可能性が高くなります(そして回復が不可能な場合があります)。

    アップグレードするたびに、一部のアイテムを手動で再構成する必要があります。ほとんどのパッケージは問題ありませんが、一部のパッケージには非互換性、新機能、および/または廃止された古い機能があります。

    注:デフォルトのDebianアーカイブには、現在の安定リリース(Bullseye)とoldstable(Buster)のリポジトリのみが含まれています。以前のバージョンは以下で利用可能です。https://www.debian.org/distrib/archiveそして、source.list URLにはarchive.debian.org URL(または近いミラー)を使用する必要があります。

    たとえば、deb http://ftp.au.debian.org/debian/ wheezy main contrib non-free次のようなものの代わりにdeb http://archive.debian.org/debian/ wheezy main contrib non-free

  3. アップグレードするたびに、sshd別のターミナルウィンドウまたはタブでsshを試して、新しいバージョンが正しく機能していることをテストすることをお勧めします。 sshd新しいバージョンが正しく機能することを確認するまで、現在のSSHセッションからログアウトしないでください。 そうしないと、再度ログインできなくなる可能性があります。ある時点になると(正確にどのバージョンであるか覚えていません)、新しいsshdは以前のパスワードやキー交換方法をサポートしなくなり、構成変更を元に戻す必要があります。あなたのために作られました~/.ssh/config。ある時点では、/etc/ssh/sshd_configサーバーを少し変更する必要があるかもしれません。

    これは非常に重要で、繰り返す価値があります。

    再度ログインできることを確認するまでSSHセッションからログアウトしないでください。

  4. 複数のバージョンのDebianをアップグレードするよりも、データと設定ファイルをバックアップし、サーバーを消去し、Debian 11を新しくインストールしてから、データと設定ファイルを復元する方が簡単です。いくつかの重要なサービスしか実行しないと、はるかに簡単になります。

    より良いオプションは、2番目のホスティングサーバーをリースし、ここにDebian 11をインストールしてから、既存のサーバーから新しいサーバーにサービスを徐々に移行することです。これはおそらく最も簡単なアプローチであり、問​​題や失敗の可能性が最も少なくなります。各サービスを一度に 1 つずつ移行し、新しいサービスに切り替える前に正常に動作しているかどうかをテストできます。これは、パニック状態や極端な時間的圧力の中で発生する可能性がある間違いを考え、回避する時間を提供します。

    どちらが実行されているのか、その理由、各サービスが特定のシステムで実行され続けるのがどれほど重要か、サービスを破棄するか、別のAコンピュータに移行できるかについての完全なリストが必要です。また、これらのプログラムの機能、動作方法、構成方法を完全に理解することも重要です。

    これらのいくつかはシステムとその構成ファイルを調べることによって得られますが、他のものは組織内の人々と話し合い、シニアスタッフが特定のサービスの重要性と優先順位を決定できるようにすることによってのみ得られます。退屈で、いくつかの段階で少なくとも一時的な中断があるため、CYAは管理者に決定を下し、それを解決します。覚えておいてください。システム管理者が素晴らしい仕事をしていると誰も気づかないが、みんな状況が変わったら注意してください。

    つまり、慎重な計画なしにアップグレードに飛び込まないでください。アップグレードのすべてのステップを計画する必要があり、その計画には、各アップグレード後もすべての重要なサービスがまだ正常に機能していることをテストする必要があります。

  5. 何かをする前にすべてをバックアップしてください。また、コンピュータでRAIDタイプを実行している場合、RAIDはバックアップを置き換えないことに注意してください。バックアップを置き換えることはできません。サーバーに現在の定期的なバックアップ計画がない場合は、2番目に計画を設定することをお勧めします。最初のステップは、現在のバックアップを作成することです。

  6. 仮想マシンにSqueezeまたはWheezyをインストールしてアップグレードする練習をしてから、Bullseyeまで作業する必要があります。実際のサーバーをアップグレードするのとまったく同じではありませんが、少なくともプロセスに非常に精通しています。簡単に解決できない問題が発生した場合は、回復するために各アップグレード手順の前に仮想マシンのスナップショットを作成できます。

  7. すべての Debian リリースには、主要な変更点と非互換性について通知するアップグレード ノートが付属しています。各アップグレードの前にこの内容をお読みください。

おすすめ記事