質問: sshの公開鍵について お世話になっております。 現在3台のサーバa,b,cがあり、aのサーバからb,cにパスワードなしでログインできるようにするため、 aのサーバでsshの公開鍵と秘密鍵を作成しました。(パスフレーズはnull) 具体的な手順は以下になります。 ------------------------------------------------------------------------------------------- 1. aサーバにて公開鍵と秘密鍵を作成 a # ssh-keygen -t rsa generating public/private rsa key pair. enter file in which to save the key (//.ssh/id_rsa): enter passphrase (empty for no passphrase): enter same passphrase again: your identification has been saved in //.ssh/id_rsa. your public key has been saved in //.ssh/id_rsa.pub. the key fingerprint is: xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx root@a 2. 秘密鍵、公開鍵が作成されていることを確認 a # ls ~/.ssh id_rsa id_rsa.pub known_hosts 3. 公開鍵をbとcサーバへ配信 a # scp ~/.ssh/id_rsa.pub root@b:/tmp password: id_rsa.pub 100% |***************************************| 223 00:00 4. bとcサーバ側で公開鍵の登録 b # cat /tmp/id_rsa.pub > ~/.ssh/authorized_keys ------------------------------------------------------------------------------------------- 登録後、aサーバからb,cサーバにsshで接続してみたのですが、一見パスワードなしでログインできているようでした。 ただ、何故か b,cサーバや無関係なdサーバからもaサーバへパスワードなしでアクセスできてしまいます。 公開鍵を登録したのはb,cサーバのみで、b,cサーバからaサーバに対してパスワードなしでアクセスできないはずという認識です。 更に、数日後aサーバからb,cサーバに接続を試みたところ、以下のメッセージが出力されました。 ------------------------------------------------------------------------------------------- ホスト 'b (1.1.1.1)' の認証を確立できません. rsa 鍵フィンガープリントは xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx です 本当に接続を継続してもよろしいですか (yes/no)? ------------------------------------------------------------------------------------------- 公開鍵はbサーバ初回接続時にknown_hostsへ登録済みで、bサーバ側のipアドレスの変更なども実施していません。 sshの仕様で、公開鍵が数日で変更されるのでしょうか? 上記について、アドバイスや問題点があればご教示いただければ幸いです。
回答: 明らかに変ですよね。 >公開鍵を登録したのはb,cサーバのみで、b,cサーバからaサーバに対してパスワードなしでアクセスできないはずという認識です。 はい、普通は出来ません。 >sshの仕様で、公開鍵が数日で変更されるのでしょうか? ディストリビューションが分からないのでなんとも言えませんが、 普通は、/etc/ssh/ssh_host_xxx_key とかがある場合、ホスト鍵の 作成を行わないようになってるかと思います。 そもそも、パスワードなしでログイン可能な状況になってませんか? ログを見るなり、ssh -vvv でアクセスするなりして調査しないと 危険な状況かと思いますよ。(もう手遅れってことも...)