有没有办法在不使用 pem 密钥的情况下通过 SFTP 进行连接?

Is there a way to connect via SFTP without using pem key?

我有一个 EC2 实例 运行,我可以访问服务器上传内容的唯一方法是通过 pem key。现在,我们需要创建用户,让他们将自己的文件上传到服务器。我已经使用 vsftpd 成功允许 FTP 连接,但我的高级开发人员希望我创建服务器 allow other users with username and password only without pem key。我应该在我的 EC2 实例中配置什么?

编辑:在我们的团队中。我们主要使用filezilla和winscp

一般来说,您会发现许多可用于启动实例的 Linux AMI 都禁用了 ssh 密码身份验证。对于您的情况,程序是:

  1. 编辑 /etc/ssh/sshd_config 以允许密码验证
  2. 重新加载或重新启动 sshd 守护程序以使更改生效
  3. 创建用户
  4. 设置密码

/etc/ssh/sshd_config 中的更改是设置 PasswordAuthentication yes。它可以存在并被注释掉,也可以存在并设置为 no。只要确保它在文件中只设置一次即可。

使用该设置,您可以重新加载或重新启动 sshd,并且根据您的 distribution/version 组合,它可能是以下之一:

  • sudo systemctl reload sshd
  • sudo service sshd reload
  • sudo restart sshd 此外,根据发行版和版本,该服务可能被称为 ssh 而不是 sshd,因此您可能也需要尝试一下。

使用 useradd 命令创建用户,如 sudo useradd <username>。您可以使用不同的开关来指定诸如主目录、shell、组成员资格等内容。一些 Linux 发行版对这些设置了默认值,而其他发行版则没有,这可能会让您说没有主目录或允许登录的登录 shell 的用户。更长的形式看起来像 sudo useradd -m -k /etc/skel -d /home/<username> -s /bin/bash <username>。如果您需要有关添加用户的更多信息,请查看 useradd 手册页或在线查找示例。

创建用户后,可以通过命令设置密码sudo passwd <username>