2014-09-08 4 views
1

Когда я использую chef knife solo с пользователем без полномочий root с sudo-доступом, он всегда спрашивает у меня пароль пользователя. Однако я отключил доступ к этому серверу.Используйте ножевое соло с пользователем без полномочий пользователя с доступом sudo, без пароля

$ bundle exec knife solo cook [email protected] -VV 
Starting 'Run' 
Running Chef on productionserver... 
Checking Chef version... 
DEBUG: Initial command sudo chef-solo --version 2>/dev/null | awk '$1 == "Chef:" {print $2}' 
DEBUG: Initial command sudo -V 
DEBUG: Running processed command sudo -V 
DEBUG: sudo -V stdout: Sudo version 1.8.9p5 

DEBUG: sudo -V stdout: Sudoers policy plugin version 1.8.9p5 
Sudoers file grammar version 43 

DEBUG: sudo -V stdout: Sudoers I/O plugin version 1.8.9p5 

DEBUG: Running processed command sudo -E -p 'knife sudo password: ' chef-solo --version 2>/dev/null | awk '$1 == "Chef:" {print $2}' 
Enter the password for [email protected]: 

Я добавил свой ключ SSH к серверу и может SSH в этот сервер с ssh [email protected] без необходимости пароля.

Я использовал chef knife solo на моем промежуточном сервере с пользователем root, и он отлично работает.

Я пробовал явным образом передать свой ключ ssh с помощью опции -i, chef knife solo cook [email protected] -i ~/.ssh/id_rsa.pub и соло для ножей, похоже, не использовало это. Любые идеи о том, что попробовать дальше?

Примечание: Я показываю cook, потому что это то, где я нахожусь. Я сделал prepare, и это сработало, потому что я еще не отключил доступ к паролю - это случилось с моим первым cook - так что я смог просто ввести пароль.

ответ

2

Вы Мессинг между SSH и Sudo, проверьте свой файл sudoers для записи supersecretuser он должен выглядеть так:

#Vagrant entry to allow sudo from vagrant 
vagrant ALL=(ALL) NOPASSWD: ALL 

Здесь позволяет любой команды без пароля бродячие пользователя, чтобы Судо.

+0

Если вы не видите его внутри '/ etc/sudoers', это потому, что оно находится внутри'/etc/sudoers.d/vagrant' – javatarz

Смежные вопросы