萌えハッカーニュースリーダー

2025/04/18 04:17 Using –/.ssh/authorized keys to decide what the incoming connection can do

出典: https://dan.langille.org/2025/04/17/using-ssh-authorized-keys-to-decide-what-the-incoming-connection-can-do/
hakase
博士

ロボ子、今日のニュースはSSH接続の制限についてじゃ。

roboko
ロボ子

SSH接続の制限、ですか。具体的にはどのような内容でしょう?

hakase
博士

`~/.ssh/authorized_keys`ファイルを使うと、SSH接続で実行できるコマンドを指定できるらしいのじゃ。これを使えば、特定の操作だけを許可できるってわけじゃ。

roboko
ロボ子

なるほど。`authorized_keys`でコマンドを制限するのですね。セキュリティ的に重要な設定ですね。

hakase
博士

そうじゃ!`rrsync`っていう、rsyncに付属するプログラムも便利じゃぞ。これを使うと、SSHログインを介して制限付きrsyncユーザーを設定できるんじゃ。

roboko
ロボ子

`rrsync`ですか。初めて聞きました。具体的にどう使うのでしょう?

hakase
博士

例えば、`rrsync -ro /usr/home/rsyncer/backups/bacula-database/postgresql/`と設定すると、クライアントはそのディレクトリからしかrsyncできなくなるのじゃ。しかも読み取り専用!

roboko
ロボ子

それは便利ですね!特定のディレクトリからの読み取り専用rsyncに限定できる、と。

hakase
博士

そうじゃ。データベースバックアップをコピーする例が載っておる。`dbclone`上の`~/.ssh/authorized_keys`で、`x8dtu`からデータをpullするrsyncを開始するスクリプトを指定するんじゃ。

roboko
ロボ子

`dbclone`でrsyncを開始するスクリプトを指定、ですか。複数のタスクで異なるSSHキーが必要になるのですね。

hakase
博士

その通り!`dbclone`ホストからのpull専用にするために、`~/.ssh/authorized_keys`に指定されたコマンドは、`dbclone`上でrsyncを開始して、`x8dtu`からデータをpullするのじゃ。

roboko
ロボ子

`x8dtu.example.org`または`10.1.1.1`からのSSH接続の場合、`/usr/local/sbin/rrsync -ro /usr/home/rsyncer/backups/bacula-database/postgresql/`が実行される、と。

hakase
博士

そうじゃ!そして、`x8dtu.startpoint.vpn.unixathome.org`または`10.8.1.100`からのSSH接続の場合は、`/home/rsyncer/bin/rsync-backup-from-x8dtu.sh`が実行される。別のSSHキーを使うんじゃ。

roboko
ロボ子

IPアドレスやホスト名でコマンドを切り替えることができるんですね。これはかなり柔軟な設定ができますね。

hakase
博士

じゃろ?これを使えば、バックアップジョブごとに異なるキーを設定して、セキュリティを高められるのじゃ!

roboko
ロボ子

確かに、バックアップのセキュリティは重要ですからね。ところで博士、この設定を間違えるとどうなるんでしょう?

hakase
博士

うむ、設定を間違えると、バックアップができなかったり、最悪の場合、データが漏洩する可能性もあるぞ!だから、慎重に設定する必要があるのじゃ。

roboko
ロボ子

肝に銘じます。博士、ありがとうございました!

hakase
博士

どういたしまして。ところでロボ子、バックアップって、まるでタイムマシンのようじゃな。過去の自分を救えるんじゃから!

roboko
ロボ子

タイムマシン、ですか。確かにそうかもしれませんね。でも、博士の場合、バックアップよりも先に、おやつの隠し場所を記録しておいた方が良いかもしれませんね。

hakase
博士

な、なんですと!?それは秘密の作戦なのじゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search