вход в систему vagrant как root по умолчанию
8 ответов
устранение:
Добавьте к вашему Vagrantfile
:
config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'
когда вы vagrant ssh
отныне вы будете входить в систему как root
и следует ожидать следующее:
==> mybox: Waiting for machine to boot. This may take a few minutes...
mybox: SSH address: 127.0.0.1:2222
mybox: SSH username: root
mybox: SSH auth method: password
mybox: Warning: Connection timeout. Retrying...
mybox: Warning: Remote connection disconnect. Retrying...
==> mybox: Inserting Vagrant public key within guest...
==> mybox: Key inserted! Disconnecting and reconnecting using new SSH key...
==> mybox: Machine booted and ready!
Обновление 23-Jun-2015: Это работает и для версии 1.7.2. Безопасность ключей улучшилась с 1.7.0; этот метод переопределяет предыдущий метод, который использует известный закрытый ключ. Это решение не предназначено для использования в доступной коробке публично без надлежащих мер безопасности до публикации.
ссылки:
это полезно:
sudo passwd root
...для тех, кто был пойман необходимостью установить пароль root в vagrant first
это работает, если вы находитесь на ubuntu / trusty64 box:
vagrant ssh
как только вы находитесь в ubuntu box:
sudo su
теперь вы пользователь root. Вы можете обновить пароль root, как показано ниже :
sudo -i
passwd
теперь отредактируйте нижеприведенную строку в файле /etc/ssh/sshd_config
PermitRootLogin yes
кроме того, удобно создать собственное альтернативное имя пользователя:
adduser johndoe
подождите, пока он не запрашивает пароль.
если Vagrantfile
как показано ниже:
config.ssh.username = 'root'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'
но бродяга все еще спрашивает у вас пароль root, скорее всего, базовый ящик, который вы использовали, не настроен для разрешения входа root.
например, официальный ubuntu14.04 поле не устанавливать PermitRootLogin yes
на /etc/ssh/sshd_config
.
поэтому, если вы хотите, чтобы поле могло войти в систему как root по умолчанию(только Vagrantfile, больше не работает), вам нужно :
настройка виртуальной машины по имени пользователя
vagrant
(любое имя, но root)-
войти и редактировать файл конфигурации sshd.
ubuntu: edit
/etc/ssh/sshd_config
, setPermitRootLogin yes
orthers: ....
(я использую только ubuntu, не стесняйтесь добавлять обходные пути других платформ)
-
создайте новую базовую коробку:
vagrant package --base your-vm-name
это создать файл
package.box
-
добавьте эту базовую коробку в vagrant:
vagrant box add ubuntu-root file:///somepath/package.box
тогда, вам нужно использовать этот корпус построить vm, которые позволяют авто войти в систему как root.
уничтожить оригинальный vm по
vagrant destroy
редактировать оригинал
Vagrantfile
, измените имя поля наubuntu-root
и имяroot
, потомvagrant up
создать новый.
это стоило мне некоторого времени, чтобы понять, это слишком сложно, на мой взгляд. Надеюсь, vagrant улучшит это.
Не забывайте, что root разрешен root для входа в систему раньше!!!
поместите код конфигурации ниже в файл /etc/ssh/sshd_config.
PermitRootLogin yes
Я знаю, это старый вопрос...но, глядя на исходный вопрос, похоже, что пользователь просто хотел запустить команду как root..это то, что мне нужно сделать, когда я искал ответ и наткнулся на этот вопрос.
Так что это стоит знать, на мой взгляд:
vagrant ssh servername-c "echo vagrant / sudo-s shutdown 0"
" бродяга " - это пароль, который повторяется в команде sudo, потому что, как мы все знаем, бродяга учетная запись имеет привилегии sudo, и когда вы sudo, вам нужно указать пароль учетной записи пользователя, а не root..и, конечно, по умолчанию пароль пользователя vagrant - "бродяга"!
по умолчанию вам нужны привилегии root для выключения, поэтому я думаю, что завершение работы-хороший тест.
очевидно, вам не нужно указывать имя сервера, если для этой бродячей среды есть только один. Кроме того, мы говорим о местной бродячей вирусной машине для хоста, поэтому на самом деле нет любая проблема безопасности, которую я вижу.
надеюсь, что это помогает.
добавление этого в Vagrantfile сработало для меня. Эти строки эквивалентны вводу "sudo su -" при каждом входе в систему. Обратите внимание, что для этого требуется перепрофилирование виртуальной машины.
config.vm.provision "shell", inline: <<-SHELL
echo "sudo su -" >> .bashrc
SHELL
vagrant destroy
vagrant up
пожалуйста, добавьте это в файл vagrant:
config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'