私の問題は、IPアドレスが毎日変更されるLinuxサーバー(Ubuntu 18.04)にSSHで接続する方法を見つけることです。
私は時々管理タスクを手伝ってくれるクライアントを持っています。彼らが助けを必要とするとき、私はマシンにsshする必要がありますが、彼らは静的IPを持っていないので、サーバーのパブリックIPは絶えず変化しています。LinuxマシンのIPアドレスを報告する小さなスクリプトを作成したところ、正午頃に1日1回変更されることがわかりました。
SSHをセットアップすることができ、IPアドレスが変更されるまで、ローカルでもリモートでも動作します。それが起こると、新しいIPアドレスを使用してもリモートで接続できなくなります。
- IPアドレスが変更されるたびにSSHサービスを再起動する必要がありますか?
- もしそうなら、なぜですか?
- SSHアクセスを許可するためにIPアドレスが変更された場合に行う必要がある他のアクションはありますか?
更新
明確にするために、私の問題は新しいIPアドレスを見つけられないことです。既にそれを行うスクリプトがあります。問題は、新しいIPアドレスを使用して接続しようとしても、IPが変更されるとサーバーが応答しなくなることです。
ターゲットマシンでSSHサービスを再起動すると、リモートアクセスが再び可能になります。しかし、なぜこれをしなければならないのか理解できません。より良い解決策を見つけることを期待して根本原因を知りたい。
ほとんどの人は、SSHが新しいIPを知っている限り機能するはずだと考えているように思われますが、これは18.04に固有のものですか?最近、クライアント用にこのサーバーをインストールしたため、すべての構成設定はデフォルトのままです。(変更する方法がわかりません。)
ListenAddress <dynamic host name>
おそらく、誰かが内部ユーザーがサーバーにsshできるようにしたくないという理由で、DDNSの実行やsshd configファイルのような奇妙なことが起こっている可能性があります。実際には、IPが変更されるたびにsshサーバーを再起動する必要があります。