Digital Oceanを備えたCentOsリリース6.4を手に入れ、SFTPユーザーを正常に作成し、ユーザー自身のchrootホームディレクトリに投獄したいのですが、これが混乱しているのではないかと心配しています。
私は多くのことを試しましたが、ほとんどが間違っているか、あまり意味がないので、ここにリストするにはあまりにも多くありますが、正しいプロセスであると思うのは、私が試したことです:
sftp
:-のグループを作成します
groupadd sftp
ユーザーを作成し、ホームディレクトリを設定します-
useradd -d /var/www/vhosts/domain.com dummyuser
ユーザーのパスワードを設定します-
passwd dummyuser
ユーザーのグループを「sftp」に変更します-
usermod -g sftp dummyuser
ユーザーのシェルを/bin/false
:-に設定します
usermod -s /bin/false dummyuser
sshd_config
(/etc/ssh/
)のサブシステムを編集:-
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp
sshd_config
ファイルの最後に次を追加します。
Match group sftp
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
次のディレクトリがすべてあることを確認しますroot:root
:-
/var
/var/www
/var/www/vhosts
/var/www/vhosts/domain.com
その後、ユーザーdummyuser
(WinSCP)を使用してSFTP経由でサーバーにログインしようとすると、次のメッセージが表示されます。
Authentication log (see session log for details):
Using username "dummyuser".
Authentication failed.
私が達成したいのは、ユーザーをホームディレクトリに投獄することだけです。また、vsftpdをセットアップして構成しました。ユーザーは正常にログインできますが、サーバー全体にアクセスできます。刑務所に入れることができませんでした。
編集
言及するのを忘れて、私sshd
もそれから再起動しました-
service sshd restart
エラーがWinSCPで生成される場合、これに関するヘルプページはこちらです。
ログ結果
/var/log/secure
実際のサーバー名をに置き換えましたserver_name
。
Apr 28 14:20:56 server_name sshd[9944]: Accepted password for dummyuser from 80.194.255.4 port 44402 ssh2
Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session opened for user dummyuser by (uid=0)
Apr 28 14:20:56 server_name sshd[9946]: fatal: bad ownership or modes for chroot directory component "/var/www/vhosts/"
Apr 28 14:20:56 server_name sshd[9944]: pam_unix(sshd:session): session closed for user dummyuser
/var/log/secure
。
vhosts
ですroot:root
。
sshd
か?サーバー上のログファイルには何が含まれていますか?