我试图添加一个部署用户到一个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之前。