350 文字
2 分
wwwユーザーsftp許可
CAUTIONこの記事は学生時代に書かれたもので、記録として残しています。内容が正確でない可能性や信頼性を担保できない部分があるため、その点を踏まえてご覧ください。
wwwの公開ディレクトリを操作するためにwwwのログインを許可し、sftpのみを許可するように設定した。
sshを許可
# usermod -s /bin/bash www
rsa鍵作成(クライアントで)
$ ssh-keygen -t rsa
公開鍵登録
http://centossrv.com/teraterm-public.shtml
公開鍵セットアップ※管理者ユーザ以外
を参考に
sshd設定変更。sftp許可設定。
# vim /etc/ssh/sshd_config
(変更)
Subsystem sftp internal-sftp
(追加)
Match User www
ChrootDirectory /var/www
ForceCommand internal-sftp
sshd再起動
# service sshd restart
その前は
Connection to xxx.com closed by remote host.
Connection to xxx.com closed.
となっている。この場合はsshでのログインを制限しているからこれで正しい挙動だと考えられる。
そこでsftpクライアントでログインしてもうまくいかない。
クライアントからログインしたものの
Write failed: Broken pipe
が多発。
結局出来なかったので管理者ユーザーで操作することにした。
具体的にはwwwのルートディレクトリの所有者を管理者ユーザーにした。
# chown -R 管理者ユーザー:管理者ユーザー /var/www
忘れずにwwwユーザーのsshのログインを禁止
# usermod -s /bin/nologin www
wwwユーザーsftp許可
https://blog.maiani.dev/posts/2014-02-10-www-sftp/