如何添加对 Amazon EC2 上的“/var/www/html/adir”文件夹具有 SFTP 访问权限的用户?

如何添加对 Amazon EC2 上的“/var/www/html/adir”文件夹具有 SFTP 访问权限的用户?

这个问题与这个问题非常相关。那里的答案很有用,但不幸的是不完整。如何在 Amazon EC2 Centos 上添加对“/var/www/html/website_abc”文件夹具有 SFTP/FTP 访问权限的用户?

我想授予第三方访问我的 Amazon EC2 实例上部分目录结构的权限。我关注了本教程添加组和用户,然后本教程将此用户 chroot。不过,我不清楚在完成这两个步骤后如何继续。下面是更详细的步骤,以及我遇到的问题。

添加组和用户

在终端:

sudo groupadd sftp
sudo useradd -g sftp thirdparty
sudo usermod -G sftp thirdparty
sudo usermod -s /bin/false thirdparty
sudo chown root:root /var/www/html/exports/thirdparty
sudo chmod 0755 /var/www/html/exports/thirdparty
sudo passwd thirdparty (set password e.g. to abcd)

Chroot 这个用户

将这些行添加到etc/ssh/sshd_config

Subsystem sftp /usr/lib/openssh/sftp-server

Match Group sftp
    ChrootDirectory %h
    AllowTcpForwarding no
    X11Forwarding no
    ForceCommand /usr/lib/openssh/sftp-server

重新启动 OpenSSH:

/etc/init.d/ssh restart

远程访问

从这一点来看,下一步该做什么还不清楚。教程提到使用 FileZilla,但没有具体说明如何使用。我尝试了以下方法。

尝试 1

Host: 12.34.56.789 (public IP from EC2 Management Console)
Username: thirdparty
Password: abcd
Port: 
--> Quickconnect

Status:         Connecting to 12.34.56.789:21...
Error:          Connection timed out after 20 seconds of inactivity
Error:          Could not connect to server

第二次尝试

Host: 12.34.56.789 (public IP from EC2 Management Console)
Username: thirdparty
Password: abcd
Port: 22
--> Quickconnect

FileZilla 警告有关未知主机密钥。我单击“确定”以信任主机并继续连接。我(尚未)将密钥添加到缓存中。

Status:         Connecting to 12.34.56.789...
Response:       fzSftp started, protocol_version=2
Command:        open "[email protected]" 22
Command:        Trust new Hostkey: Once
Error:          Disconnected: No supported authentication methods available (server sent: publickey)
Error:          Could not connect to server

有人能告诉我下一步该怎么做吗?这与 SSH 有关,还是与 AWS 有关(与 VPC 有关)?

答案1

Amazon EC2 默认禁用 SSH 密码验证,而这正是您遇到的情况Attempt 2。您需要为您的用户设置使用 ssh 密钥登录(好)或更新/etc/sshd_config以启用密码验证(坏)。

相关内容