我无法将无密码的条目添加到EC2上的新用户

我试图添加一个部署用户到一个EC2实例与capistrano工作。 我已经能够为用户ubuntu添加无密码的条目,但它不能与“部署”。 我正在设置这个用户如下:

adduser --system --home /home/deploy --shell /bin/bash --ingroup nogroup deploy chmod u+w /etc/sudoers echo "deploy ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers chmod uw /etc/sudoers 

然后我复制授权密钥

 cp /root/.ssh/authorized_keys /home/deploy/.ssh/authorized_keys 

并重新启动ssh

 /etc/init.d/ssh restart 

但是,当我尝试从我的本地机器login,如:

  ssh -v -i ec2-keypair [email protected] 

我仍然收到一个密码的请求。 有任何想法吗?

您可能会更安全地为您的部署用户生成新的密钥对,而不是重新使用根密钥对。

正如你没有提到它,首先要检查的是authorized_keys文件的所有权和权限,如果它不是由部署用户拥有,或者对于组/其他,那么ssh将回退到密码authentication。

您可以在/ etc / ssh / sshd_config中禁用PasswordAuthentication

 PasswordAuthentication=no 

你可以尝试手动使用

 ssh -v -o PasswordAuthentication=no -i ec2-keypair [email protected] 

在更改您的configuration之前。