Help us understand the problem. What is going on with this article?

SFTPサーバを用意する

More than 1 year has passed since last update.

環境
- Ubuntu 12.10 64bit

要求
- 専用のユーザを作成して、SFTP 接続のみ利用可能で、SSH 接続を許可しない。
- アップロード先のディレクトリだけアクセス可能にしたい。

(参考)SSH(シェル)の制限かけてchrootの設定を有効にしたSFTPサーバを提供する方法

-
SFTP専用のユーザを作成してパスワードを設定する

$ sudo useradd sftp-user
$ sudo passwd sftp-user 

SFTP専用ユーザのホームディレクトリを /(rootディレクトリ)に設定する
ChrootDirectory を使うと見かけ上ホームディレクトリは / になるため。

$ sudo usermod -d / sftp-user 

実際にファイルを読み書きするディレクトリを作成する

$ sudo chown root:root /home/
$ sudo mkdir /home/sftp-user
$ sudo chown root:root /home/sftp-user
$ sudo chmod 755 /home/sftp-user

SFTP専用ユーザーのグループを作成する

$ sudo groupadd sftponly

SFTP専用ユーザーのグループを設定を変更する

$ id sftp-user 
uid=1001(sftp-user) gid=1001(sftp-user) groups=1001(sftp-user)
$ sudo usermod -G sftponly sftp-user
$ id sftp-user 
uid=1001(sftp-user) gid=1001(sftp-user) groups=1001(sftp-user),1002(sftponly)

sshd設定、internal-sftpを使用する

$ sudo vim /etc/ssh/sshd_config 

/usr/lib/openssh/sftp-serverをコメントアウトし、 internal-sftp を追加する

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

SFTP専用ユーザが読み書きするディレクトリを作成する
下記の例では、接続すると test ディレクトリのみが表示されるようになる。

$ cd /home/sftp-user
$ sudo mkdir test
$ sudo chown sftp-user:sftp-user test

SFTP専用ユーザをchrootに閉じ込める

$ sudo vim /etc/ssh/sshd_config 

下記の設定を追加する。

Match group sftponly
  ChrootDirectory /home/%u
  X11Forwarding no
  AllowTcpForwarding no
  ForceCommand internal-sftp

sshdを再起動する

$ sudo service sshd restart

-

ssh(シェル)が実行できないことを確認する

$ ssh sftp-user@123.45.67.890 
sftp-user@123.45.67.890's password: 
This service allows sftp connections only.
Connection to 123.45.67.890 closed.
usutani
好物は Ruby on Rails や iOS アプリの開発です。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした