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の仕様で、公開鍵が数日で変更されるのでしょうか?
上記について、アドバイスや問題点があればご教示いただければ幸いです。
お礼
ご回答ありがとうございます。 ポートフォワーディングの使用を前提とした公開されたサーバは基本的にはないということですね。