бродяга войти в систему как root по умолчанию



проблема: часто первая команда, которую я набираю в свои ящики, -su -.



вопрос: как мне сделать vagrant ssh использовать пользователя root по умолчанию?



версия: бродяга 1.6.5

817   8  

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:

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, скорее всего, базовое поле, которое вы использовали, не настроено для разрешения корневого входа.


например, в официальном поле ubuntu14.04 не устанавливается PermitRootLogin yes на /etc/ssh/sshd_config.

поэтому, если вы хотите, чтобы поле могло войти в систему как корневой по умолчанию(только Vagrantfile, больше не работает), вам нужно :

  1. настройка виртуальной машины по имени пользователя vagrant(как бы то ни было, но корень)

  2. войти и редактировать файл конфигурации sshd.

    ubuntu: edit /etc/ssh/sshd_config, set PermitRootLogin yes

    orthers: ....

    (я использую только ubuntu, не стесняйтесь добавлять обходные пути других платформ)

  3. построить новую базовую коробку:

    vagrant package --base your-vm-name
    

    это создать файл package.box

  4. добавьте эту базовую коробку в vagrant:

    vagrant box add ubuntu-root file:///somepath/package.box
    

    затем вам нужно использовать эту базовую коробку чтобы построить виртуальную машину, которая позволяет автоматически войти в систему как root.

  5. уничтожить оригинальную виртуальную машину с помощью vagrant destroy

  6. редактировать оригинал Vagrantfile, измените имя коробки на ubuntu-root и имя root, потом vagrant up создать новый.

это стоило мне некоторого времени, чтобы выяснить, это слишком сложно, на мой взгляд. Надеюсь, что бродяга улучшит это.

Не забывайте, что root разрешен root для входа в систему раньше!!!

поместите код конфигурации ниже в файл /etc/ssh/sshd_config.

PermitRootLogin yes

Я знаю, это старый вопрос...но, глядя на исходный вопрос, похоже, что пользователь просто хотел запустить команду как root..это то, что мне нужно сделать, когда я искал ответ и наткнулся на этот вопрос.

Так что это стоит знать, на мой взгляд:

vagrant ssh servername-c "echo vagrant | sudo-s shutdown 0"

"бродяга" - это пароль, который повторяется в команде sudo, потому что, как мы все знаем, бродяга учетная запись имеет привилегии sudo, и когда вы sudo, вам нужно указать пароль учетной записи пользователя, а не root..и, конечно же, по умолчанию пароль бродячего пользователя - "vagrant" !

по умолчанию вам нужны корневые привилегии для завершения работы, поэтому я думаю, что завершение работы-хороший тест.

очевидно, вам не нужно указывать имя сервера, если есть только один для этой бродячей среды. Кроме того, мы говорим о местной бродячей вирусной машине для хоста, поэтому на самом деле нет любая проблема безопасности, которую я вижу.

надеюсь, что это помогает.

добавление этого в 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'

Comments

    Ничего не найдено.