GNU/Linux >> Linux の 問題 >  >> Linux

Rackspace Cloudの要点:WebコンソールでサーバーのSSHホストフィンガープリントを確認します

Secure Shell(SSH)は指紋を使用します クライアントがサーバーを識別できるように、一意のサーバーホストキーを使用して生成されます。ホストのフィンガープリントが変更されるたびに、SSHは次の警告を発行します。ホストのフィンガープリントを確認できないか、変更されました

SSHサーバーを構成すると、ホストキーがランダムに生成されます。ホストキーは、接続しているサーバーを識別し、SSHが提供するセキュリティの中心です。誰かが接続を傍受するプログラムを設定し、ログイン資格情報を盗んだ場合(中間者 攻撃)、SSHクライアントはホストキーが変更されたのみを提供します 警告。

ホストキーが変更される理由

変更されたホストキーの説明は次のとおりです。

  • SSHの再コンパイルまたはアップグレード。
  • サーバーを再構築します。
  • 同じホストに別のアドレスを使用する。

注: システムがホストキーを保存すると、アドレスごとに記録されるため、 localhost および127.0.0.1 同じサーバーを指している場合、SSHクライアントはそれが別のエントリであると想定します。

ただし、中間者の可能性を破棄しないでください。 攻撃し、SSH接続を使用せずにサーバーのWebコンソールを使用してホストのフィンガープリントを確認します。

警告:リモートホストIDが変更されました

このエラーメッセージを検討してください:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /home/demo/.ssh/known_hosts to get rid of this message.
Offending key in /home/demo/.ssh/known_hosts:15
RSA host key for 1.2.3.4 has changed and you have requested strict checking.
Host key verification failed.

警告は次のことを意味します。SSHサーバーを識別するフィンガープリントが、前回接続したときとは異なります。

サーバーのSSHフィンガープリントを確認します

サーバーのSSHフィンガープリントをファイルに書き込んで、適切なサーバーに接続していることを確認する必要があります。特に、複数のマシンや、デスクトップやクライアントのサーバーなど、なじみのないコンピューターから接続する場合はそうです。

ホストのフィンガープリントがない場合は、クラウドコントロールパネルのWebコンソールを使用できます。

Webコンソールを使用すると、シリアルコンソールから接続しているかのようにサーバーに接続できます。 SSHとの接続を妨げるものは、シリアルコンソール接続を妨害しません。 Webコンソールを開く際にサポートが必要な場合は、このコンソールセッションの記事を確認してください。

使用するユーザー名とパスワードがない場合(たとえば、すべてのアカウントのパスワードを無効にしている場合)、クラウドコントロールパネルを使用できます。 サーバーのルートパスワードをリセットします。その後、新しい資格情報でログインできます。

ssh-keygenを使用

サーバーにログインすると、ホストキーのフィンガープリントを取得できます。次のssh-keygenを実行します サーバーの公開鍵に対するコマンド:

ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub

-l <​​/ code> オプションは指紋と-f/etc/ssh/ssh_host_rsa_key.pubをリストします optionは、ホストの公開鍵ファイルの場所を指定します。その場所はLinux®サーバーのデフォルトですが、別の場所で見つける必要がある場合があります。

次の例に示すように、出力はSSHクライアントのフィンガープリントに似ています。

2048 xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx /etc/ssh/ssh_host_rsa_key.pub (RSA)

最初の数字はキーの強度を示します(この場合、2048ビット)。指紋は、キーの場所とキーのタイプ(通常はRSA)とともに続きます。

SSHでローカルホストに接続

公開鍵を取得する別の方法は、サーバー内からSSHclientを使用してSSHサーバーに接続することです。 Webコンソールにログインし、 sshを使用します コマンド:

ssh localhost

SSHを使用してローカルホストに初めて接続する場合は、警告が表示されます。警告はRSAキーのフィンガープリントを表示します:

The authenticity of host 'localhost (::1)' can't be established.
RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)?

初めてローカルホストに接続しない場合は、次の手順を使用して、保存されているキーをクリアします。

  1. .sshに移動します アカウントのディレクトリ:

    cd ~/.ssh
    
  2. known_hostsを編集します ファイル、 localhostで始まる行を削除します 。

  3. ファイルを保存します。

接続を再試行してください。今回は指紋が見えるはずです。

:指紋を書き留めて記録を残し、この記事の残りの部分で使用します。

接続を完了します

得られた指紋を、サーバーにリモート接続したときに表示される指紋と比較します。同じである場合、接続は有効です。そうでない場合は、ネットワークから切断し、別の場所から接続してみてください。それでも異なる場合は、サポートに連絡してください。

ホストキーが変更されました

指紋がクライアントの期待と一致しなかった場合 警告、サーバーに接続する前に、次の手順を使用して、クライアントコンピューター内の既知のホストのリストを編集してください。

LinuxおよびmacOSX

Linux、macOS®X、およびその他のUnix®ベースのオペレーティングシステムでは、 sshを使用します SSH経由でサーバーに接続するコマンド。 〜/ .ssh / known_hosts ファイルには既知のSSHホストキーが含まれています。

known_hosts2が表示される場合があります known_hostsの代わりにまたはそれに加えてファイル 。両方のファイルが存在する場合、システムは known_hosts2を使用します 接続するとき。

ファイルを特定したら、次の手順を実行します。

  1. ファイルを開きます。

  2. サーバーのIPアドレスまたはドメイン名で始まる行を見つけます。IPアドレスのエントリ1.2.3.4 次の例のように表示されます:

     1.2.3.4 ssh-rsa AAAAB3NzaC1yc2EAAAABIwGAAQEA2Km5iIlopDndzSTbiaQZq8ynh8RPrvzBJ7dICnvAZWuH/YeNO+9DPnngzsOiYazwRD/CRSGEGRY6tS3GLclFO3Ae370aafbcq...
    
  3. 行を削除します。

  4. ファイルを保存します。

次回接続するときは、接続を完了する前にホストのフィンガープリントを確認してください。

WindowsとPuTTY

Windows®サーバーの場合は、PuTTY®の使用を検討してください。別のプログラムを使用する場合は、ユーザードキュメントを確認して、クライアントが既知のホストキーを保存している場所を見つけてください。

注: レジストリを編集するには、クライアントコンピュータの管理者権限が必要です。

注: レジストリを注意して編集してください。

PuTTYはホストキーをWindowsレジストリに保存します。既知のホストキーを見つけるには、次の手順を実行します。

  1. Windowsに移動します メニューをクリックし、 regeditと入力します 検索で または実行 ボックス。

  2. Windowsはレジストリをフォルダの階層として配置するため、次のフォルダを見つけます。

    HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
    
  3. フォルダで、接続しているサーバーのIPアドレスを持つ1つ以上のエントリを見つけます。次の例は、ポート22、IPアドレス 1.2.3.4にあるRSAバージョン2暗号化キーを示しています。 :

    rsa2@22:1.2.3.4
    
  4. エントリを右クリックして、削除を選択します コンテキストメニューから。 レジストリを編集すると問題が発生する可能性があります 警告、アクションを確認してください。

  5. レジストリエディタを終了します。

SSH接続を試みると、サーバーのホストキーが不明ですを取得する必要があります。 指紋と一緒に警告。接続を受け入れる前に、このフィンガープリントとWebコンソールから取得したフィンガープリントが一致していることを確認してください。

概要

この記事では、サーバーのホストキーフィンガープリントを取得する方法について説明します。接続するサーバーのホストキーのフィンガープリントを安全な場所に保管することを検討してください。 中間者を除外する必要があるときはいつでも、これらのキーを参照できます。 特に複数のクライアントを使用する場合の攻撃。詳細については、Linuxシステムのセキュリティの基本を参照してください。

コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。


Linux
  1. クラウドサーバー緊急コンソール

  2. RackspaceCloudコントロールパネルの紹介

  3. アマゾンウェブサービスからRackspaceCloudに移行する

  1. RackspaceCloudでの移行

  2. Pitchfork-Rackspace CloudAPIWebアプリケーション

  3. RackspaceCloudServerをシャットダウンします

  1. サーバーのログイン履歴を確認してください

  2. nova-agentまたはRackspaceCloudServerAgentのトラブルシューティング

  3. sshを使用してリモートホストにファイルが存在するかどうかを確認します