UbuntuのSFTPサーバー設定

UbuntuのSFTPサーバ設定方法
目次

概要

ネットワーク検証を実施する際に、FTPを利用して転送速度を計測することがあると思います。以前であれば、vsftpdを利用してFTPサーバーを立てることが多かったのですが、最近では、デフォルトでFTPがインストールされていないことも多いです。そのため、セキュリティ的にも優れているSFTPサーバーを構築し、SFTPによるファイル転送をできるようにしていきます。

※この方法で作成したSFTPサーバーを利用した、WAN回線の検証方法はこちら
CMLを始めよう!(12.WANエミュレーター)

SFTPサーバーの設定

CML(Cisco Modeling Labs)上のUbuntuノードを利用し設定していきます。

SFTP専用ユーザーを作成し、パスワードを設定します。

sudo useradd sftp-user
sudo passwd sftp-user
SFTP専用ユーザーの作成、パスワードの設定

SFTP専用ユーザーのホームディレクトリを変更します。

sudo usermod -d / sftp-user
SFTP専用ユーザーのホームディレクトリ変更

ファイルを読み書きするディレクトリを作成します。

sudo chown root:root /home/
sudo mkdir /home/sftp-user
sudo chown root:root /home/sftp-user
sudo chmod 755 /home/sftp-user
ファイルを読み書きするディレクトリ作成

/home配下にsftp-userディレクトリが作成できていることを確認します。

/home配下にsftp-userディレクトリが作成できていることの確認

SFTP専用ユーザーのグループを作成します。

sudo groupadd sftponly
SFTP専用ユーザーのグループ作成

SFTP専用ユーザーのグループを変更します。

sudo usermod -G sftponly sftp-user
SFTP専用ユーザーのグループ変更

sshdの設定を変更します。

sudo vim /etc/ssh/sshd_config
sshdの設定変更

“Subsystem sftp /usr/lib/openssh/sftp-server”をコメントアウトし、”Subsystem sftp internal-sftp”を追加します。

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
sshdの設定変更内容

SFTP専用ユーザーがファイルを読み書きするディレクトリを作成します。
ここでは、”test”ディレクトリを作成しています。

cd /home/sftp-user
sudo mkdir test
sudo chown sftp-user:sftp-user test
SFTP専用ユーザーがファイルを読み書きするディレクトリ"test"作成

“test”ディレクトリが作成されたことを確認します。

"test"ディレクトリが作成されたことを確認

SFTP専用ユーザー移動できるディレクトリを制限するために、sshd_configを再度修正します。

sudo vim /etc/ssh/sshd_config
sshd_configの再度修正(SFTP専用ユーザー移動できるディレクトリを制限)

末尾に下記を追記します。

Match group sftponly
   ChrootDirectory /home/%u
   X11Forwarding no
   AllowTcpForwarding no
   ForceCommand internal-sftp
sshd_configの修正内容

問題なく追記できていることを確認します。

cat /etc/ssh/sshd_config
sshd_configの変更内容確認

sshdを再起動します。

sudo service sshd restart
sshdの再起動

これで、SFTPサーバーの設定は完了です。

接続確認

まずは、通常のSSHで接続できないことを確認します。
「This service allows sftp connections only.」と表示され、接続が拒否されます。

ssh sftp-user@localhost
sshで接続できないことを確認

次に、SFTPで接続します。
「Connected to localhost.」と表示され、無事にSFTP接続ができました。

sftp sftp-user@localhost
sftpで接続できることを確認

これで、UbuntuのSFTPサーバー設定は完了です!

  • URLをコピーしました!
  • URLをコピーしました!
目次