350 文字
2 分
wwwユーザーsftp許可
2014-02-10
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

参考
はったりエンジニアの備忘録 OpenSSH で chroot を設定する

wwwユーザーsftp許可
https://blog.maiani.dev/posts/2014-02-10-www-sftp/
作者
まいあに
公開日
2014-02-10
ライセンス
CC BY-NC-SA 4.0