如何设置 sftp 用户使用密码登录 EC2 ubuntu 服务器?

Dor*_*ron 18 ubuntu cloud-computing certificate sftp

我有一个运行在 EC2 实例上的 Ubuntu 服务器。要登录到该服务器,我使用没有任何密码的证书文件。

我已经安装并配置了 vsftpd 并创建了一个用户(让我们称他为“testuser”),我已经为其设置了一个 /bin/false ssh 终端,因此它只能通过 sftp 连接并上传/访问他家中的文件目录。

但是 - 当我尝试从我的计算机连接到服务器时,运行

sftp testuser@my-ec2-server
Run Code Online (Sandbox Code Playgroud)

我得到

权限被拒绝(公钥)。
连接关闭

消息,所以我无法登录。

如何仅删除此用户的证书要求(意味着“ubuntu”用户仍必须使用证书文件通过 ssh 登录),以便普通 sftp 客户端能够使用用户名和密码进行连接?

谢谢你。

PS 使用来自规范的 Ubuntu Server 10.10 官方 AMI,在微型实例上 64 位。

lyn*_*man 14

为了完成你想要的,你需要做两件不同的事情

  1. 更改 sshd 配置以接受密码

我首先要说的是,这样做是一个坏主意,我宁愿为您的用户生成一个证书而不是激活密码,但是如果您想这样做,只需编辑/etc/ssh/sshd_config和更改或取消注释它,以便它显示PasswordAuthentication yes. 完成后重启sshdservice ssh restart

  1. 让用户只使用 sftp 进行 FTP 而没有 shell

为了完成,您需要安装 rsh(受限外壳)并将用户外壳更改为它 chsh username