linux:sftp_server
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
linux:sftp_server [2023/08/15 19:05] – mikoto | linux:sftp_server [2023/08/20 13:34] (現在) – mikoto | ||
---|---|---|---|
行 9: | 行 9: | ||
bashログイン不可能なユーザーを作成。ディレクトリを''/ | bashログイン不可能なユーザーを作成。ディレクトリを''/ | ||
<code bash> | <code bash> | ||
- | useradd -m -d / | + | useradd -m -d / |
</ | </ | ||
+ | ディレクトリが作成されなかった場合は作成する。 | ||
+ | SFTPユーザーのルートディレクトリとする際、所有者をrootにしておかないとログインできないため、 | ||
+ | 所有者とグループを'' | ||
+ | 更に、このディレクトリの中に、書き込み可能なディレクトリを用意しておく。 | ||
+ | こちらは所有者とグループを'' | ||
+ | パーミッションは700としておく。 | ||
+ | <code bash> | ||
+ | mkdir -p / | ||
+ | chown root: | ||
+ | chmod 755 / | ||
+ | mkdir / | ||
+ | chown sftp-user: | ||
+ | chmod 700 sftp-user: | ||
+ | </ | ||
+ | ここで、ホームディレクトリ自体は750としてしまっても良い。その方が他のユーザーから読み取られる心配は少なくなる。 | ||
鍵を作成する。 | 鍵を作成する。 | ||
行 19: | 行 34: | ||
鍵を格納するためのディレクトリを作成し、公開鍵の内容を貼り付けて保存する。 | 鍵を格納するためのディレクトリを作成し、公開鍵の内容を貼り付けて保存する。 | ||
+ | authorized_keysファイルは、ユーザーが参照できるように所有権を設定しておく。 | ||
<code bash> | <code bash> | ||
mkdir -p / | mkdir -p / | ||
vim / | vim / | ||
+ | chown sftp-user: | ||
+ | chmod 600 authorized_keys | ||
</ | </ | ||
- | ===== SFTP で操作できるディレクトリを制限する | + | ==== SFTP で操作できるディレクトリを制限する ==== |
ユーザーが操作できるディレクトリを制限したいので、sshd_config を編集して以下を追加する。 | ユーザーが操作できるディレクトリを制限したいので、sshd_config を編集して以下を追加する。 | ||
'' | '' | ||
行 38: | 行 56: | ||
</ | </ | ||
ここでは、** ForceCommand ** ディレクティブにinternal-sftp を指定することでsftpでの接続のみに制限している。 | ここでは、** ForceCommand ** ディレクティブにinternal-sftp を指定することでsftpでの接続のみに制限している。 | ||
+ | |||
+ | 変更後、サービスを再起動して反映する。 | ||
+ | <code bash> | ||
+ | systemctl restart sshd | ||
+ | </ | ||
+ | |||
+ | ==== 構成例2-Chrootなし、パスワード認証での設定 ==== | ||
+ | 通常のユーザーのホームディレクトリをルートディレクトリとし、パスワード認証で接続するよう設定する。 | ||
+ | また、ルートディレクトリ直下で読み書き可能とする。 | ||
+ | |||
+ | ユーザーを作成し、パスワードを設定 | ||
+ | <code bash> | ||
+ | useradd -s / | ||
+ | passwd sftp-pass | ||
+ | </ | ||
+ | |||
+ | sshd_configを編集し、以下を追加 | ||
+ | <file apache> | ||
+ | Match User sftp-pass | ||
+ | ForceCommand internal-sftp | ||
+ | X11Forwarding no | ||
+ | AllowTcpForwarding no | ||
+ | </ | ||
+ | |||
+ | sshd を再起動する | ||
+ | <code bash> | ||
+ | systemctl restart sshd | ||
+ | </ | ||
+ | |||
+ | ユーザーのホームディレクトリの所有者をrootに変更し、 | ||
+ | パーミッションを775にする。 | ||
+ | <code bash> | ||
+ | chown root: / | ||
+ | chmod 775 / | ||
+ | </ |
linux/sftp_server.1692093916.txt.gz · 最終更新: 2023/08/15 19:05 by mikoto