それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

デプロイやバックアップ用のSFTPアクセスだけを許可する、公開鍵を使う。

SFTP だけができるユーザーを作ると。

バックアップ用やデプロイ用に、ユーザーを作るのがめんどくさい。

ちょっとしたコマンドは実行できなくてSFTPさえできればいいときに、デプロイ用のユーザを作って /etc/ssh/sshd_config で管理するのも面倒

そこで、www-data やroot などの nologin ユーザーにSSH接続を許可してSFTPだけを使うようにする。

公開鍵を登録する autorized_keys でアレコレできる。

authorized_keys に設定を書き込めば、制限や細かい設定を鍵ごとに帰ることできる。そこで、SFTPだけの許可をauthorized_keys に追記する。

authorized_keys に次のようにかけば、OK

command="internal-sftp" ssh-rsa AAAAB3NzaC1yc2EAAAA

chrroot する場合は

authorized_keyにオプションをつけたものを書き込めばいいみたい。

command="internal-sftp -d /var/www" ssh-rsa AAAAB3NzaC1yc2EAAAA

SFTP さえあれば事足ることが多い。

自分以外のlinuxユーザーアカウントが、SSHアクセスしたい場合の大半はファイル転送だと思うんだ。いちいちコマンド実行できるSSHを許可するのも面倒だよね。ということで、

関連資料

SFTPユーザを作る話 → SSHをSFTPに制限して、ディレクトリを制限(chroot)した専用アカウントを作る - それマグで!

Ahtorized_keys で公開鍵ごとに機能制限する話 → sshの公開鍵authorized_keys ファイルの制限機能について調べてみたら楽しかった. - それマグで!

参考資料

https://stackoverflow.com/questions/23448900/public-key-authorization-on-sftp-chroot-directory#31477162