linux:sftp_server
文書の過去の版を表示しています。
SFTP サーバー構築
概要
sftp-userというユーザーを作成し、/sftp/chroot/home/sftp-user
というディレクトリ内のみ
アクセス可能でログイン不可能の設定でSFTPサーバーを構築する。
手順
bashログイン不可能なユーザーを作成。ディレクトリを/sftp/chroot/home/sftp-user
とする。
useradd -m -d /sftp/chroot/home/sftp-user -s /sbin/nologin /sftp-user
鍵を作成する。
ssh-keygen -t rsa 4096 # 名前はsftp-keyで作成、パスフレーズは無しにする
鍵を格納するためのディレクトリを作成し、公開鍵の内容を貼り付けて保存する。
mkdir -p /sftp/chroot/sshkeys/sftp-user vim /sftp/chroot/sshkeys/sftp-user/authorized_keys
SFTP で操作できるディレクトリを制限する
ユーザーが操作できるディレクトリを制限したいので、sshd_config を編集して以下を追加する。
%u
はユーザー名を表す。
# User Configuration Match User sftp-user ChrootDirectory /sftp/chroot/home/%u AuthorizedKeysFile /sftp/chroot/sshkeys/%u/authorized_keys ForceCommand internal-sftp X11Forwarding no AllowTcpForwarding no PasswordAuthentication no
ここでは、 ForceCommand ディレクティブにinternal-sftp を指定することでsftpでの接続のみに制限している。
linux/sftp_server.1692093916.txt.gz · 最終更新: 2023/08/15 19:05 by mikoto