vagrant domyślnie loguje się jako root

Problem: często pierwszym poleceniem, które wpisuję do moich pól jest su -.

Pytanie: Jak sprawić, by vagrant ssh domyślnie używał użytkownika root?

Wersja: vagrant 1.6.5

Author: Mike D, 2014-09-10

8 answers

Rozwiązanie:
Dodaj do swojego Vagrantfile:

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

Kiedy vagrant ssh od tej pory zalogujesz się jako root i powinieneś oczekiwać, że:

==> 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!

Aktualizacja 23-Jun-2015: Działa to również w wersji 1.7.2. Od wersji 1.7.0 poprawiono bezpieczeństwo Keying; technika ta przywraca poprzednią metodę, która używa znanego klucza prywatnego. To rozwiązanie nie jest przeznaczone do stosowania w przypadku skrzynki, która jest dostępna publicznie bez odpowiednich środków bezpieczeństwa przed publikacją.

Bibliografia:

 95
Author: Mike D,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-06-24 00:28:17

Jest to przydatne:

sudo passwd root

...dla każdego, kto został złapany przez potrzebę ustawienia hasła roota w vagrant first

 94
Author: Ed Williams,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-31 06:44:10

To działa, jeśli jesteś na ubuntu / trusty64 box:

vagrant ssh

Gdy znajdziesz się w pudełku ubuntu:

sudo su

Teraz jesteś użytkownikiem root. Możesz zaktualizować hasło roota, jak pokazano poniżej:

sudo -i
passwd

Teraz edytuj poniższy wiersz w pliku /etc/ssh/sshd_config

PermitRootLogin yes

Wygodne jest również utworzenie własnej alternatywnej nazwy użytkownika:

adduser johndoe

Poczekaj, aż zapyta o hasło.

 23
Author: Thyag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-01 03:51:33

If Vagrantfile Jak poniżej:

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

Ale vagrant wciąż pyta o hasło roota, najprawdopodobniej używane pole podstawowe nie jest skonfigurowane tak, aby zezwalać na logowanie roota.


Na przykład oficjalne pole ubuntu14.04 nie ustawia PermitRootLogin yes w /etc/ssh/sshd_config.

Więc jeśli chcesz, aby okno mogło się zalogować jako domyślne root (tylko Vagrantfile, nie działa więcej), musisz:

  1. Konfiguracja maszyny wirtualnej według nazwy użytkownika vagrant (niezależnie od nazwy, ale root)

  2. Zaloguj się i Edytuj konfigurację sshd plik.

    Ubuntu: edycja /etc/ssh/sshd_config, set PermitRootLogin yes

    Orthers: ....

    [15]} (używam tylko ubuntu, zapraszam do dodawania obejścia innych platform)
  3. Zbuduj nową skrzynkę bazową:

    vagrant package --base your-vm-name
    

    This create a file package.box

  4. Dodaj tę bazę do vagrant:

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

    Następnie musisz użyć tego pola podstawowego do zbudowania maszyny wirtualnej, która umożliwia automatyczne logowanie jako root.

  5. Destroy original vm by vagrant destroy

  6. Edytuj oryginał Vagrantfile, Zmień nazwę skrzynki na ubuntu-root i nazwę Użytkownika na root, następnie vagrant up Utwórz nową.

To kosztowało mnie trochę czasu, aby dowiedzieć się , to jest zbyt skomplikowane, moim zdaniem. Mam nadzieję, że vagrant to poprawi.
 7
Author: Mithril,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-05 03:43:33

Dont ' t forget root is allowed root to login before!!!

Umieść poniższy kod konfiguracyjny w pliku/etc/ssh / sshd_config.

PermitRootLogin yes
 6
Author: Andrew Coding,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-30 08:43:58

Wiem, że to stare pytanie...ale patrząc na oryginalne pytanie, wygląda na to, że użytkownik chciał po prostu uruchomić polecenie jako root..to właśnie muszę zrobić, gdy szukałem odpowiedzi i natknąłem się na to pytanie.

Więc to warto wiedzieć moim zdaniem:

Vagrant SSH servername-c "echo vagrant / sudo-s shutdown 0"

"vagrant" to hasło wpisywane w poleceniu sudo, ponieważ jak wszyscy wiemy, konto vagrant ma sudo privilages i kiedy sudo, musisz określić hasło do konta użytkownika, a nie root..i oczywiście domyślnie hasło użytkownika włóczęgi to "włóczęga"!

Domyślnie do zamykania potrzebujesz uprawnień roota, więc myślę, że rootowanie jest dobrym testem.

Oczywiście nie musisz podawać nazwy serwera, jeśli istnieje tylko jedna dla tego środowiska Włóczęgów. Ponadto mówimy o lokalnej maszynie Vagrant virutal do hosta, więc tak naprawdę nie ma żadnego problemu z bezpieczeństwem widzę.

Mam nadzieję, że to pomoże.

 0
Author: Chris Barnett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-26 19:23:34

Dodanie tego do pliku Vagrantfile zadziałało. Te linie są równoważne z wpisaniem "sudo su -" za każdym razem, gdy się logujesz. Należy pamiętać, że wymaga to ponownego udostępnienia maszyny wirtualnej.

config.vm.provision "shell", inline: <<-SHELL echo "sudo su -" >> .bashrc SHELL

 0
Author: fpereiro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-10 11:52:25
vagrant destroy
vagrant up

Proszę Dodać to do pliku vagrant:

config.ssh.username = 'vagrant'
config.ssh.password = 'vagrant'
config.ssh.insert_key = 'true'
 -6
Author: eric more,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-12 17:18:50