我无法让其他人通过 FTP/SFTP 访问我们的网站。我创建了多个虚拟名称服务器,每个服务器都运行自己的网站。因此,我想向用户授予 FTP/SFTP 访问权限。
我遵循了与本文中所述的相同步骤Serverfault 论坛问题。确保所有文件夹(不是文件)都为 755 根目录,并将根目录设为所有者。
我的步骤如下,
添加群组
groupadd sftp
创建用户
useradd -d /var/www/vivektest.com.au/public_html vivek
passwd vivek
已添加到组并修改了 bin
usermod -g sftp vivek
usermod -s /sbin/nologin vivek
修改 SSHD 配置
Subsystem sftp internal-sftp
Match group sftp
X11Forwarding no
ChrootDirectory %h
AllowTcpForwarding no
ForceCommand internal-sftp
重新启动 sshd 服务。确保主文件夹归 root 所有。
sudo ls -ld /var/www/vivektest.com.au/public_html
drwxr-xr-x. 2 root root 23 Dec 14 03:10 /var/www/vivektest.com.au/public_html
再次不是里面的文件。还有其他针对不同网站的虚拟服务器目录(例如 abctest.com.au、xyz.com.au),它们都具有相同的权限设置。
我尝试了各种其他方法并遵循了许多其他建议但都失败了而且我不想再破坏服务器了。
这日志档案/var/log/secure 没有给我太多信息
Dec 14 05:12:10 ip-xxx-xx-xx-xx sshd[3833]: error: Received disconnect from 149.135.125.62: 14: No supported authentication methods available [preauth]
文件Zilla说
Status: Connecting to ec2-xx-xx-xxx-xx.ap-southeast-2.compute.amazonaws.com...
Response: fzSftp started, protocol_version=7
Command: open "[email protected]" 22
Error: Disconnected: No supported authentication methods available (server sent: publickey,gssapi-keyex,gssapi-with-mic)
Error: Could not connect to server
它是一台驻留在 Amazon AWS EC2 上的 CentOS 机器。
/var/www 之前还有其他文件和文件夹,例如 httpd、logs、home,它们不在 root 下,而是在 centos(默认 ec2 用户)下。这会是个问题吗?
另外,我有 webmin。但是,当我进入 SSH 登录模块时,我收到一条消息
There is no SSH server running on xx.xxx.xx.xx port 22.
我不确定这对我所遇到的问题是否有任何意义。
另外,我的系统管理软件是强制的。但是,我没有对其进行任何修改。
如果有人能阐明这一点,那就太好了。
谢谢。V