Вход бродяг как root по умолчанию

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

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

Версия: vagrant 1.6.5

Ответ 1

Решение:
Добавьте к вашему 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; этот метод переопределяет предыдущий метод, который использует известный закрытый ключ. Это решение не предназначено для использования в коробке, доступной публично без надлежащих мер безопасности, сделанных до публикации.

Ссылка:

Ответ 2

это полезно:

sudo passwd root

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

Ответ 3

Это работает, если вы находитесь в поле ubuntu/trusty64:

vagrant ssh

Как только вы попадете в поле ubuntu:

sudo su

Теперь вы являетесь пользователем root. Вы можете обновить пароль root, как показано ниже:

sudo -i
passwd

Теперь отредактируйте приведенную ниже строку в файле /etc/ssh/sshd_config

PermitRootLogin yes

Кроме того, удобно создать собственное альтернативное имя пользователя:

adduser johndoe

Подождите, пока он не запросит пароль.

Ответ 4

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

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

PermitRootLogin yes

Ответ 5

Если 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, больше нет работы), вы должны:

  • Установите vm по имени пользователя vagrant (любое имя, кроме root)

  • Войдите и отредактируйте файл конфигурации sshd.

    ubuntu: отредактировать /etc/ssh/sshd_config, установить PermitRootLogin yes

    orthers:....

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

  • Создайте новый базовый ящик:

    vagrant package --base your-vm-name
    

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

  • Добавьте этот базовый бокс для бродяг:

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

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

  • Уничтожьте оригинальный vm vagrant destroy

  • Измените исходное Vagrantfile, измените имя поля на ubuntu-root и имя пользователя на root, затем vagrant up создайте новый.

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

Ответ 6

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

Значит, это стоит знать, по-моему:

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

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

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

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

Надеюсь, что это поможет.

Ответ 7

vagrant destroy
vagrant up

Пожалуйста, добавьте это в бродячий файл:

config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'