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フィンガープリントをファイルに書き込んで、適切なサーバーに接続していることを確認する必要があります。特に、複数のマシンや、デスクトップやクライアントのサーバーなど、なじみのないコンピューターから接続する場合はそうです。
ホストのフィンガープリントがない場合は、クラウドコントロールパネルの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)?
初めてローカルホストに接続しない場合は、次の手順を使用して、保存されているキーをクリアします。
-
.sshに移動します アカウントのディレクトリ:
cd ~/.ssh
-
known_hostsを編集します ファイル、 localhostで始まる行を削除します 。
-
ファイルを保存します。
接続を再試行してください。今回は指紋が見えるはずです。
注 :指紋を書き留めて記録を残し、この記事の残りの部分で使用します。
得られた指紋を、サーバーにリモート接続したときに表示される指紋と比較します。同じである場合、接続は有効です。そうでない場合は、ネットワークから切断し、別の場所から接続してみてください。それでも異なる場合は、サポートに連絡してください。
指紋がクライアントの期待と一致しなかった場合 警告、サーバーに接続する前に、次の手順を使用して、クライアントコンピューター内の既知のホストのリストを編集してください。
LinuxおよびmacOSX
Linux、macOS®X、およびその他のUnix®ベースのオペレーティングシステムでは、 ssh
を使用します SSH経由でサーバーに接続するコマンド。 〜/ .ssh / known_hosts
ファイルには既知のSSHホストキーが含まれています。
known_hosts2が表示される場合があります known_hostsの代わりにまたはそれに加えてファイル 。両方のファイルが存在する場合、システムは known_hosts2を使用します 接続するとき。
ファイルを特定したら、次の手順を実行します。
-
ファイルを開きます。
-
サーバーのIPアドレスまたはドメイン名で始まる行を見つけます。IPアドレスのエントリ1.2.3.4 次の例のように表示されます:
1.2.3.4 ssh-rsa AAAAB3NzaC1yc2EAAAABIwGAAQEA2Km5iIlopDndzSTbiaQZq8ynh8RPrvzBJ7dICnvAZWuH/YeNO+9DPnngzsOiYazwRD/CRSGEGRY6tS3GLclFO3Ae370aafbcq...
-
行を削除します。
-
ファイルを保存します。
次回接続するときは、接続を完了する前にホストのフィンガープリントを確認してください。
WindowsとPuTTY
Windows®サーバーの場合は、PuTTY®の使用を検討してください。別のプログラムを使用する場合は、ユーザードキュメントを確認して、クライアントが既知のホストキーを保存している場所を見つけてください。
注: レジストリを編集するには、クライアントコンピュータの管理者権限が必要です。
注: レジストリを注意して編集してください。
PuTTYはホストキーをWindowsレジストリに保存します。既知のホストキーを見つけるには、次の手順を実行します。
-
Windowsに移動します メニューをクリックし、
regedit
と入力します 検索で または実行 ボックス。 -
Windowsはレジストリをフォルダの階層として配置するため、次のフォルダを見つけます。
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys
-
フォルダで、接続しているサーバーのIPアドレスを持つ1つ以上のエントリを見つけます。次の例は、ポート22、IPアドレス 1.2.3.4にあるRSAバージョン2暗号化キーを示しています。 :
rsa2@22:1.2.3.4
-
エントリを右クリックして、削除を選択します コンテキストメニューから。 レジストリを編集すると問題が発生する可能性があります 警告、アクションを確認してください。
-
レジストリエディタを終了します。
SSH接続を試みると、サーバーのホストキーが不明ですを取得する必要があります。 指紋と一緒に警告。接続を受け入れる前に、このフィンガープリントとWebコンソールから取得したフィンガープリントが一致していることを確認してください。
この記事では、サーバーのホストキーフィンガープリントを取得する方法について説明します。接続するサーバーのホストキーのフィンガープリントを安全な場所に保管することを検討してください。 中間者を除外する必要があるときはいつでも、これらのキーを参照できます。 特に複数のクライアントを使用する場合の攻撃。詳細については、Linuxシステムのセキュリティの基本を参照してください。
コメントや質問をするには、[フィードバック]タブを使用します。私たちと会話を始めることもできます。