Skip to content

Crow314/ictsc2023-kog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

問題名

さよならリモートワーク

ストーリー

黒羽くんは普段サーバーマシンに直接ディスプレイとキーボードを接続して操作している。 しかし、サーバーを操作する必要のあるタスクが山積みの中、急遽外出の予定が生えたため、外出中にサーバーを操作し、リモートワークすることとなった。 黒羽くん曰く「まあ、SSHサーバーなんか適当にやっても動くし、公開鍵も仕込んだし外からでも適当に繋がるでしょ」とのことである。

さて遠征当日、黒羽くんは移動の休憩中にサーバーへ接続し、作業を行おうとした。 「あれ、なんか繋がらない…… この作業今日中に終わらせないとマズいのに……」 このままでは遠征を途中で取り止めて帰宅し、作業する羽目になってしまう。

黒羽くんはCLI以外でもSSH接続を使用するため、SSHの設定はコマンドライン引数ではなく設定ファイルに記述したい。 が、黒羽くんは複数端末を使用しており、端末間で設定が異なると面倒なため、できる限り設定ファイルは変更したくない。 黒羽くんからの注文は多いが、なんとかしてSSHでサーバーに接続できるようにしてほしい。

なお、設定の際にルート権限を持った user ユーザーを使用することはできるが、実際の作業にはSSHで直接 worker ユーザーにログインする必要があるらしい。 また、サーバーはセキュリティ面が怪しいのでping, SSH以外の外部からの接続は禁止している。

前提条件

  • server に外部からping, SSH以外の接続ができてはならない
  • serveruser ユーザー及び 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 から serveruser ユーザーにSSHログインできない
  • client から serverworker ユーザーにSSHログインできない
  • client から routeruser ユーザーにSSHログインできる

終了状態

  • user ユーザーでログインしている client において ssh server と入力することで公開鍵認証で serverworker ユーザーに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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published