Я пытаюсь добавить пользователя развертывания в экземпляр 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 u-w /etc/sudoers
Затем я копирую авторизованные ключи
cp /root/.ssh/authorized_keys /home/deploy/.ssh/authorized_keys
и перезапустите ssh
/etc/init.d/ssh restart
Но затем, когда я пытаюсь войти в систему со своего локального компьютера, например:
ssh -v -i ec2-keypair deploy@domain.com
Я все еще получаю запрос пароля. Любые идеи?
Вероятно, будет безопаснее создать новую пару ключей для пользователя развертывания, чем повторно использовать корневую.
Поскольку вы не упомянули об этом, первое, что нужно проверить, - это право собственности и разрешения на authorized_keys
файл, если он не принадлежит пользователю развертывания или имеет w
для группы / другого, тогда ssh вернется к аутентификации по паролю.
Вы можете отключить PasswordAuthentication
в вашем / etc / ssh / sshd_config
PasswordAuthentication=no
Вы можете попробовать это вручную с помощью
ssh -v -o PasswordAuthentication=no -i ec2-keypair deploy@domain.com
перед внесением изменений в вашу конфигурацию.