さよならリモートワーク
黒羽くんは普段サーバーマシンに直接ディスプレイとキーボードを接続して操作している。 しかし、サーバーを操作する必要のあるタスクが山積みの中、急遽外出の予定が生えたため、外出中にサーバーを操作し、リモートワークすることとなった。 黒羽くん曰く「まあ、SSHサーバーなんか適当にやっても動くし、公開鍵も仕込んだし外からでも適当に繋がるでしょ」とのことである。
さて遠征当日、黒羽くんは移動の休憩中にサーバーへ接続し、作業を行おうとした。 「あれ、なんか繋がらない…… この作業今日中に終わらせないとマズいのに……」 このままでは遠征を途中で取り止めて帰宅し、作業する羽目になってしまう。
黒羽くんはCLI以外でもSSH接続を使用するため、SSHの設定はコマンドライン引数ではなく設定ファイルに記述したい。 が、黒羽くんは複数端末を使用しており、端末間で設定が異なると面倒なため、できる限り設定ファイルは変更したくない。 黒羽くんからの注文は多いが、なんとかしてSSHでサーバーに接続できるようにしてほしい。
なお、設定の際にルート権限を持った user
ユーザーを使用することはできるが、実際の作業にはSSHで直接 worker
ユーザーにログインする必要があるらしい。
また、サーバーはセキュリティ面が怪しいのでping, SSH以外の外部からの接続は禁止している。
server
に外部からping, SSH以外の接続ができてはならないserver
のuser
ユーザー及びworker
ユーザーにはclient
の/home/user/.ssh/id_rsa
に対応する公開鍵が登録されている
- 各ホストの通信経路を変更してはならない
router
及びserver
にはclient
を経由せずに接続してはならないserver
に対する外部からのping, SSH以外の通信を可能としてはならない- 出題時点で可能であったものについは無視して良い
server
の各ユーザーに公開鍵を追加登録してはならないserver
の/etc/ssh/sshd_config
及び/etc/ssh/sshd_config.d/
以下に変更を加えてはならないclient
の.ssh/config
を変更してはならない- この制約を満たせていない場合は部分点が与えられる
client
からserver
のuser
ユーザーにSSHログインできないclient
からserver
のworker
ユーザーにSSHログインできないclient
からrouter
のuser
ユーザーにSSHログインできる
user
ユーザーでログインしているclient
においてssh server
と入力することで公開鍵認証でserver
のworker
ユーザーにSSHログインできるclient
の.ssh/config
が出題時点と同一である- 以上の状態が永続化されている
ホスト名 | IPアドレス | ユーザ | パスワード |
---|---|---|---|
client |
192.168.50.1 | user | ictsc |
router |
192.168.51.1 | user | ictsc |
server |
192.168.52.128 | user | ictsc |
server |
192.168.52.128 | worker |