OSの環境はArch Linuxにて確認しております。
※「{{ }}」にて囲まれている部分は変数を表します(Jinja2などのテンプレートエンジンでもレンダリング可能なようにしてあります)。
-
chroot用のグループ作成と確認
$ sudo groupadd chroot $ less /etc/group
-
ルート直下にchrootフォルダを作成
$ sudo mkdir /chroot $ ls /
-
chrootユーザーを作成
$ sudo mkdir -p /chroot/home/{{ Username }} $ sudo useradd -g chroot -b /chroot/home -s /bin/bash {{ Username }} $ sudo passwd {{ Username }} $ sudo chown -R root:root /chroot/home/{{ Username }} $ sudo chmod -R 755 /chroot/home/{{ Username }} $ sudo mkdir /chroot/home/{{ Username }}/files $ sudo chown -R {{ Username }}:chroot /chroot/home/{{ Username }}/files $ sudo chmod -R 755 /chroot/home/{{ Username }}/files
-
sshd_config に設定を追記
$ sudo vi /etc/ssh/sshd_config (最下段に追記) ========== Match Group chroot ForceCommand internal-sftp AllowAgentForwarding no AllowTcpForwarding no ChrootDirectory /chroot/home/%u/ ========== $ sshd -t $ sudo service ssh restart
-
公開鍵と秘密鍵の作成
$ cd /chroot/home/{{ Username }} $ sudo mkdir /chroot/home/{{ Username }}/.ssh $ sudo ssh-keygen -t ed25519 -C "{{ Comment }}" ========== Enter file in which to save the key (/root/.ssh/id_ecdsa): /chroot/home/{{ Username }}/.ssh/authorized_keys ========== $ sudo chown -R {{ Username }}:chroot /chroot/home/{{ Username }}/.ssh $ sudo chmod 700 /chroot/home/{{ Username }}/.ssh $ sudo mv ./.ssh/authorized_keys ./ $ sudo mv ./.ssh/authorized_keys.pub ./.ssh/authorized_keys $ sudo chmod 600 ./.ssh/authorized_keys $ sudo ls -al ./.ssh
-
秘密鍵をローカルへ転送
移動方法は割愛 -
接続試験
- ログイン試験
- ファイルの新規作成・削除
- ルートの確認