概要
ネットワーク検証を実施する際に、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専用ユーザーのホームディレクトリを変更します。
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
/home配下にsftp-userディレクトリが作成できていることを確認します。
SFTP専用ユーザーのグループを作成します。
sudo groupadd sftponly
SFTP専用ユーザーのグループを変更します。
sudo usermod -G sftponly sftp-user
sshdの設定を変更します。
sudo vim /etc/ssh/sshd_config
“Subsystem sftp /usr/lib/openssh/sftp-server”をコメントアウトし、”Subsystem sftp 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
“test”ディレクトリが作成されたことを確認します。
SFTP専用ユーザー移動できるディレクトリを制限するために、sshd_configを再度修正します。
sudo vim /etc/ssh/sshd_config
末尾に下記を追記します。
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
問題なく追記できていることを確認します。
cat /etc/ssh/sshd_config
sshdを再起動します。
sudo service sshd restart
これで、SFTPサーバーの設定は完了です。
接続確認
まずは、通常のSSHで接続できないことを確認します。
「This service allows sftp connections only.」と表示され、接続が拒否されます。
ssh sftp-user@localhost
次に、SFTPで接続します。
「Connected to localhost.」と表示され、無事にSFTP接続ができました。
sftp sftp-user@localhost
これで、UbuntuのSFTPサーバー設定は完了です!