外部へのデータ転送のために、CentOS上にアクセス制限つきのsftp/scpしかできないアカウントを作成する方法を記載する
なお、作業は、鍵の作成以外は全てrootで行なった
jailkitのインストール
以下のコマンドで、jailkitをインストールする
なお、0.5.3-1.el6.rf.x86_64の部分は、http://pkgs.repoforge.org/rpmforge-release/ のリストから、使用しているCentOSのバージョンに合わせて変更する
# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm # rpm -ivh rpmforge-release-0.5.2-2.el5.rf.i386.rpm # yum install jailkit
jail用の親ディレクトリの準備
以下のコマンドで、jailkit用の親ディレクトリを用意する
# mkdir /jail # jk_init -v -j /jail/sftp sftp scp jk_lsh
ユーザーの作成
仮に作成するユーザーを「hogehoge」とした場合、以下に記載のようにuseradd,passwdでユーザーの作成とパスワードの設定を行なった後、jk_jailuserでそのユーザーをjailに閉じ込める
# useradd hogehoge # passwd hogehoge
鍵の作成
ここで、先ほど作成したユーザーに切り替える
「hogehoge」ユーザーの状態で、以下のハイライト部分のコマンドを実行する
$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/hogehoge/.ssh/id_rsa): Created directory '/home/hogehoge/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hogehoge/.ssh/id_rsa. Your public key has been saved in /home/hogehoge/.ssh/id_rsa.pub. The key fingerprint is: 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00 hogehoge@www00000uo.sakura.ne.jp The key's randomart image is: +--[ RSA 2048]----+ | | | | | | | | | | | | | | | | | | +-----------------+ $ cd .ssh $ ls id_rsa id_rsa.pub $ cp id_rsa.pub authorized_keys
ユーザーをjailに移動する
以下のコマンドで、該当のユーザーをjailに移動する
# jk_jailuser -j /jail/sftp hogehoge home directory /home/hogehoge is not within /jail/sftp/, move the directory contents? [Y]/[n]y
ユーザに実行権限を与える
jk_lsh.iniファイルを修正して、ユーザーに実行権限を与える
# vi /jail/sftp/etc/jailkit/jk_lsh.ini
[DEFAULT] paths= /usr/bin, /usr/lib/ executables= /usr/bin/scp, /usr/libexec/openssh/sftp-server [hogehoge] paths= /usr/bin, /usr/lib/ executables= /usr/bin/scp, /usr/libexec/openssh/sftp-server
参考にしたサイト
Memo/Linux/jailkit – DEX Lab
EC2上でjailkitを使って、chroot環境でSCPできる環境構築
■ AD ■ | |
---|---|