[[SSH]]

*内容 [#ec946fe9]
-SSHさせずにSFTPのみを許可して、ホームディレクトリ以上にあがらないようにする

*手順 [#g26fbac1]
 # cd /etc/sshd
 # cp -p sshd_config sshd_config.`date +%Y%m%d`
 # vi sshd_config
 ---
 #Subsystem	sftp	/usr/libexec/openssh/sftp-server
 Subsystem       sftp    internal-sftp
 
 ※下記項目はAllowUsersより下に記述する。
 Match User hogeuser
      ChrootDirectory ~
      ForceCommand internal-sftp
 # /usr/sbin/sshd -t
 # service sshd restart

***2016/1/12追記 [#t7e76b8c]
※上記のみでは「packet_write_wait: Connection to 接続先: Broken pipe」と表示されてsftp接続できない可能性があります。~
sftpの仕様上上位ディレクトリの所有者と所有グループがrootになっている必要があるためです。~
この場合、1つroot所有者&root所有グループでディレクトリを作成し、その配下にchrootさせたいユーザーが読み書き可能なディレクトリを作成することでchrootを実現できます。~

 # useradd chrootするユーザー
 # passwd chrootするユーザー
 # mkdir /対象パス/tmpdir/ftpdata
 # usermod -d /対象パス/tmpdir/ chrootするユーザー名
 # chown root:chrootするユーザー名
 # chmod -R 750 tmpdir
 # chown chrootするユーザー名:chrootするユーザー名 /対象パス/tmpdir/ftpdata
 
 この場合、chrootさせたいユーザーが操作可能な範囲は、tmpdir/ftpdata/配下のみとなります。

*参考URL [#b585ee57]
http://askubuntu.com/questions/49271/how-to-setup-a-sftp-server-with-users-chrooted-in-their-home-directories

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS