「ssh user@machine1」ではパスフレーズが必要ないのに、「ssh root@machine2」では必要なのはなぜですか?

「ssh user@machine1」ではパスフレーズが必要ないのに、「ssh root@machine2」では必要なのはなぜですか?

これは私が調査したDigitalOceanのログイン問題からのものですDigitalOceanの公式サポートサイトでこの質問を読んだ後最初は拒否されました。

ssh root@$IP_DO

上記のリンクから、まず以下に絞り込みました。

ssh -o "IdentitiesOnly yes" -i ~/.ssh/id_rsa root@$IP_DO

上記を実行すると、パスフレーズの入力を求められました。パスワード マネージャーを開くと、確かにそのキーにパスフレーズを設定していました。パスフレーズを入力すると、ログインできました。

(重要かどうかはわかりませんが、私は Digital Ocean アカウントを設定するときに公開キーを入力し、ドロップレットの作成にそれを選択しました)。

少しの間ssh-add ~/.ssh/id_rsa、パスフレーズを一度入力したところ、DigitalOcean からパスワードを要求されなくなりました。

しかし、上記の ssh-add を実行する前でも、LAN 上のサーバー上の Virtualbox VM に問題なく ssh で接続できました。ちなみに、これらは bitnami VM です。

どちらの場合も、DigitalO cean と VM は~/.ssh/authorized_keys同じものを表示します。

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC35MyHYQPWgHgxOffs2oI4jAJCTSldYr1tMb/LMogbTXtQW35mSsWexiwYjPIcdkkOl2Zqrt43696U1oZco90ibkFrbbXrqDGZssbaqfqk7

そして見てsshd_config は、

デジタルオーシャン:

egrep 'Authentication|PAM|Pass' /etc/ssh/sshd_config | grep -v '^#
RSAAuthentication yes
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM yes

uname -rv
4.4.0-93-generic #116-Ubuntu SMP Fri Aug 11 21:17:51 UTC 2017

ビットナミ VM

egrep 'Authentication|PAM|Pass' /etc/ssh/sshd_config | grep -v '^#'
RSAAuthentication yes
PubkeyAuthentication yes
RhostsRSAAuthentication no
HostbasedAuthentication no
PermitEmptyPasswords no
ChallengeResponseAuthentication no
UsePAM yes

uname -rv
3.16.0-4-amd64 #1 SMP Debian 3.16.43-2+deb8u2 (2017-06-26)

さて、そのスレッドをさらに読んでいくと、 を実行するようにアドバイスされましたssh-add ~/.ssh/id_rsa。キーのパスフレーズを求められました。

現在、DigitalOcean と VM はどちらもパスフレーズなしで動作しますが、VM ではパスフレーズが不要で、DigitalOcean では必要なのはなぜでしょうか?

答え1

はい、それで問題は解決しました。何が起こったのかはほぼ確信しています。

SSLは、保存されているリモートの公開鍵を試します承認されたキーチャレンジ システムを使用するローカル キーと比較すると、試行される順序は実際にはわかりませんし、制御もできません。

machine1 (VM) のルートは~/.ssh/authorized_keysパスフレーズで保護されていないキーの1つを指しています。ギットハブまた、id_rsa、しかし、それは以前に入ってきたので、それについて尋ねることはなかったid_rsa、使用ギットハブ

machine2 (Digitalocean) のルート~/.ssh/authorized_keysには、保護されていないギットハブアイデンティティキーなので、最終的にはid_rsaそれ以来id_rsaの ID が ssh-agent にロードされておらず、パスフレーズで保護されているため、パスフレーズの入力を求められました。

これは、承認されたキーは同じであるという私の説明と矛盾していることに注意してください。id_rsa のエントリは両方のファイルにありましたが、Bitnami VM には他の公開キーがありました。

関連情報