SSHセッションを作成すると、2つの異なるキーペア(各ペアのフィンガープリント付き)が関係します。1つはユーザーのキーで、これはに保存されてい~/.ssh
ます。ユーザーのSSHキーIDは、別のコンピューターにログインするための資格情報として使用される場合があります(キーベースのログインをセットアップした場合)。
もう1つはSSHサーバーのキーです。これは、初めて別のサーバーに接続するときに指紋を見るキーです。このキーのIDは、目的のSSHサーバーに確実にログインするために使用されます。これは、攻撃者のマシンに誤ってログインしようとしないため、パスワードを使用している場合に重要です。入力すると、攻撃者はパスワードを取得します。その後、攻撃者はログインしていると思ったマシンにログインできます。に!(これは"中間者攻撃"として知られています)SSHサーバーがログイン時に自身を識別するために使用するキーは、に/etc/ssh/
あり、通常はのような名前が付けられていssh_host_rsa_key
ます。
実際に、SSHサーバーがファイル内のキーを探す場所を設定で変更できます。/etc/ssh/sshd_config
HostKey /path/to/host/key
デフォルトでssh-keygen
は、現在のユーザーのキーを作成します。デフォルトでは、キーはに保存され~/.ssh
ます。ユーザーキーとサーバーキーの形式は同じです。違いは、それらが配置される場所と、それらを指すディレクティブ/etc/ssh/sshd_config
があるかどうかHostKey
です。openssh-serverパッケージをインストールすると、サーバーが使用するキーが自動的に生成されます。それが、未知の指紋を持つ鍵の出所です。SSHサーバーの(RSA *)キーのフィンガープリントを表示したい場合は、を実行できますssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
。
*異なる暗号化アルゴリズムがあります。それぞれが異なるキーを使用します。一般的なものは、DSA(弱い)、RSA(古いデフォルト)、およびECDSA(新しいデフォルト)です。