这个问题与这个问题非常相关。 那里的答案是有用的,但不幸的是不完整。 如何将用户通过SFTP / FTP访问添加到Amazon EC2 Centos上的“/ var / www / html / website_abc”文件夹?
我想授权第三方访问我的Amazon EC2实例上的部分目录结构。 我按照这个教程添加了一个组和一个用户,并按照这个教程来chroot这个用户。 我不清楚如何在这两步之后继续。 以下是更详细的步骤,以及我卡住的地方。
添加组和用户
在docker:
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 eg 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
尝试2
Host: 12.34.56.789 (public IP from EC2 Management Console) Username: thirdparty Password: abcd Port: 22 --> Quickconnect
FileZilla会警告未知的主机密钥。 我点击确定信任主机进行连接。 我没有(还)将密钥添加到caching。
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相关)?
Amazon EC2默认情况下禁用了SSH密码身份validation,这正是您的Attempt 2
案例中所说的消息。 您需要为您的用户设置使用ssh密钥的login(好),或者更新/etc/sshd_config
以启用密码validation(错误)。