Uratował mi życie. Czy wiesz, czy ma to jakieś reperkusje w tym, jak zachowuje się włóczęga?
Matt
1
Lekcja jest taka, że jeśli tworzysz skrzynkę bazową, postępuj zgodnie z konwencjami sugerowanymi przez Hashicorp i ustaw swoje hasło roota na „vagrant”. patrz docs.vagrantup.com/v2/boxes/base.html
Mike D,
Czy są jednak jakieś potencjalne problemy z bezpieczeństwem na serwerze, który ma naprawdę łatwe do odgadnięcia hasło roota na Twoim komputerze osobistym? Wyobrażam sobie, że pomagają w tym ustawienia sieciowe, ale zastanawiam się.
Kiedy vagrant sshodtąd będziesz się zalogować jak rooti należy spodziewać się, co następuje:
==> 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 z 23 czerwca 2015 r .:
Działa to również w wersji 1.7.2. Bezpieczeństwo kluczy poprawiło się od wersji 1.7.0; ta technika zastępuje poprzednią metodę, która używa znanego klucza prywatnego. To rozwiązanie nie jest przeznaczone do użytku w przypadku skrzynki, która jest publicznie dostępna bez odpowiednich środków bezpieczeństwa podjętych przed publikacją.
Czy może istnieć jakiś powód do wyświetlenia monitu o hasło podczas uruchamiania vagrant ssh? (po dokonaniu opisanych zmian) Vagrant wersja 1.7.2
roign
@RobertIgnat prawdopodobnie musisz ustawić hasło roota, aby pasowało do tego, co masz w config.ssh.passwordwartości. powinieneś być w stanie skomentować nowo dodane config.ssh.*linie, aby uzyskać dostęp do skrzynki, a następnie zmienić hasło roota za pośrednictwem sudo passwd root.
Mike D
11
W przypadku maszyny, która została już przygotowana, wykonaj powyższe czynności i wykonajmkdir -m 700 /root/.ssh && cp ~vagrant/.ssh/authorized_keys /root/.ssh
Felipe Alvarez
2
nie działa dla nowej instalacji Vagranta, prawdopodobnie dlatego, że kiedy używa się np. ubuntu / xenial, MUSI użyć zapieczonych tam loginów użytkownika. (patrz także stackoverflow.com/a/40478402/605463 )
axd.
1
Dla każdego używającego centos/7: To pole ustawia losowe hasło roota; można, vagrant ssha następnie sudo suzrootować, ale (z tego, co wiem) ustawienia konfiguracyjne nie działają na nowej vagrant upmaszynie wirtualnej.
mhulse
37
Działa to, jeśli korzystasz z skrzynki ubuntu / trusty64:
vagrant ssh
Gdy znajdziesz się w polu ubuntu:
sudo su
Teraz jesteś użytkownikiem root. Możesz zaktualizować hasło roota, jak pokazano poniżej:
sudo -i
passwd
Teraz edytuj poniższą linię w pliku /etc/ssh/sshd_config
PermitRootLoginyes
Ponadto wygodnie jest utworzyć własną alternatywną nazwę użytkownika:
Witamy w SO. Dodaj wystarczająco dużo szczegółów i kontekstu do odpowiedzi. Zwłaszcza, gdy odpowiadasz na stare pytanie z dobrymi odpowiedziami
Jayan
było to dla mnie bardziej przydatne niż główne rozwiązanie. ssh nie pozwala domyślnie zalogować się jako root.
bmbigbang
2
Dodanie tego do Vagrantfilepracy dla mnie. Te wiersze są odpowiednikiem tego, sudo su -co wpisujesz przy każdym logowaniu. Zwróć uwagę, że wymaga to ponownej obsługi maszyny wirtualnej.
config.vm.provision "shell", inline:<<-SHELL
echo "sudo su -" >> .bashrc
SHELL
Dzięki za bardzo proste rozwiązanie! echo "sudo -s" >> .bashrc byłoby lepsze.
Honiix
@Honiix Masz na myśli -i? 😅
Thomas Gotwig
@ThomasGotwig masz rację, `-i` jest częstsze niż `-s`, oba działają w zależności od tego, co chcesz zrobić. Chodziło mi jednak o to, że najlepiej unikać łączenia sudo i su.
Honiix
2
Uwaga: używaj tej metody tylko do lokalnego programowania, nie jest bezpieczna . Możesz ustawić hasło i konfigurację ssh podczas udostępniania skrzynki. Na przykład z debian/stretch64pudełkiem jest mój skrypt prowizyjny:
Spowoduje to ustawienie hasła roota vagranti zezwolenie na logowanie roota za pomocą hasła. Jeśli używasz private_networksay z adresem IP 192.168.10.37, możesz ssh zssh [email protected]
Może zajść potrzeba zmiany tego echoi sedpoleceń w zależności od domyślnego sshd_configpliku.
Wiem, że to stare pytanie, ale patrząc na oryginalne pytanie, wygląda na to, że użytkownik chciał tylko uruchomić polecenie jako root, to właśnie muszę zrobić, gdy szukałem odpowiedzi i natknąłem się na to pytanie.
vagrant to hasło powtarzane w poleceniu sudo, ponieważ jak wszyscy wiemy, konto vagrant ma uprawnienia sudo, a kiedy używasz sudo, musisz podać hasło konta użytkownika, a nie roota ... i oczywiście domyślnie hasło użytkownika włóczęgi to vagrant !
Domyślnie potrzebujesz uprawnień roota, aby zamknąć system, więc myślę, że zamknięcie systemu jest dobrym testem.
Oczywiście nie musisz określać nazwy serwera, jeśli jest tylko jeden dla tego środowiska włóczęgów. Mówimy również o lokalnej maszynie wirtualnej włóczęgi do hosta, więc tak naprawdę nie widzę żadnego problemu z bezpieczeństwem.
Miałem problemy z obsługą administracyjną podczas próby zalogowania się jako root, nawet z PermitRootLogin yes. Zrobiłem to, więc dotyczy to tylko vagrant sshpolecenia:
# Login as root when doing vagrant ssh
if ARGV[0]=='ssh'
config.ssh.username = 'root'
end
Odpowiedzi:
Jest to przydatne:
dla każdego, kogo złapała potrzeba ustawienia hasła roota w vagrant
źródło
Rozwiązanie:
dodaj następujące elementy do swojego
Vagrantfile
:config.ssh.username = 'root' config.ssh.password = 'vagrant' config.ssh.insert_key = 'true'
Kiedy
vagrant ssh
odtąd będziesz się zalogować jakroot
i należy spodziewać się, co następuje:Aktualizacja z 23 czerwca 2015 r .: Działa to również w wersji 1.7.2. Bezpieczeństwo kluczy poprawiło się od wersji 1.7.0; ta technika zastępuje poprzednią metodę, która używa znanego klucza prywatnego. To rozwiązanie nie jest przeznaczone do użytku w przypadku skrzynki, która jest publicznie dostępna bez odpowiednich środków bezpieczeństwa podjętych przed publikacją.
Odniesienie:
źródło
vagrant ssh
? (po dokonaniu opisanych zmian) Vagrant wersja 1.7.2config.ssh.password
wartości. powinieneś być w stanie skomentować nowo dodaneconfig.ssh.*
linie, aby uzyskać dostęp do skrzynki, a następnie zmienić hasło roota za pośrednictwemsudo passwd root
.mkdir -m 700 /root/.ssh && cp ~vagrant/.ssh/authorized_keys /root/.ssh
centos/7
: To pole ustawia losowe hasło roota; można,vagrant ssh
a następniesudo su
zrootować, ale (z tego, co wiem) ustawienia konfiguracyjne nie działają na nowejvagrant up
maszynie wirtualnej.Działa to, jeśli korzystasz z skrzynki ubuntu / trusty64:
Gdy znajdziesz się w polu ubuntu:
Teraz jesteś użytkownikiem root. Możesz zaktualizować hasło roota, jak pokazano poniżej:
Teraz edytuj poniższą linię w pliku
/etc/ssh/sshd_config
PermitRootLogin yes
Ponadto wygodnie jest utworzyć własną alternatywną nazwę użytkownika:
Poczekaj, aż zapyta o hasło.
źródło
Jeśli
Vagrantfile
jak poniżej:config.ssh.username = 'root' config.ssh.password = 'vagrant' config.ssh.insert_key = 'true'
Ale włóczęga nadal pyta cię o hasło roota, najprawdopodobniej używana skrzynka podstawowa nie jest skonfigurowana do zezwalania na logowanie roota.
Na przykład, pole ubuntu14.04 offical nie ustawisz
PermitRootLogin yes
w/etc/ssh/sshd_config
.Więc jeśli chcesz, aby box mógł logować się domyślnie jako root (tylko Vagrantfile, nie ma więcej pracy), musisz:
Skonfiguruj maszynę wirtualną według nazwy użytkownika
vagrant
(niezależnie od nazwy oprócz root)Zaloguj się i edytuj plik konfiguracyjny sshd.
ubuntu: edytuj
/etc/ssh/sshd_config
, ustawPermitRootLogin yes
inne: ....
(Używam tylko Ubuntu, nie krępuj się dodać obejście innych platform)
Zbuduj nowe pudełko podstawowe:
to tworzy plik
package.box
Dodaj to pudełko bazowe dla włóczęgi:
następnie musisz użyć tego podstawowego pudełka do zbudowania maszyny wirtualnej, która pozwoli na automatyczne logowanie jako root.
Zniszcz oryginalny vm wg
vagrant destroy
Edytuj oryginał
Vagrantfile
, zmień nazwę skrzynki naubuntu-root
i nazwę użytkownika naroot
, a następnievagrant up
utwórz nową.Kosztowało mnie to trochę czasu, moim zdaniem jest to zbyt skomplikowane. Mam nadzieję, że włóczęga to poprawi.
źródło
Nie zapominaj, że root może się zalogować wcześniej !!!
Umieść poniższy kod konfiguracyjny w
/etc/ssh/sshd_config
pliku.PermitRootLogin yes
źródło
Dodanie tego do
Vagrantfile
pracy dla mnie. Te wiersze są odpowiednikiem tego,sudo su -
co wpisujesz przy każdym logowaniu. Zwróć uwagę, że wymaga to ponownej obsługi maszyny wirtualnej.config.vm.provision "shell", inline: <<-SHELL echo "sudo su -" >> .bashrc SHELL
źródło
-i
? 😅Uwaga: używaj tej metody tylko do lokalnego programowania, nie jest bezpieczna . Możesz ustawić hasło i konfigurację ssh podczas udostępniania skrzynki. Na przykład z
debian/stretch64
pudełkiem jest mój skrypt prowizyjny:Spowoduje to ustawienie hasła roota
vagrant
i zezwolenie na logowanie roota za pomocą hasła. Jeśli używaszprivate_network
say z adresem IP192.168.10.37
, możesz ssh zssh [email protected]
Może zajść potrzeba zmiany tego
echo
ised
poleceń w zależności od domyślnegosshd_config
pliku.źródło
Wiem, że to stare pytanie, ale patrząc na oryginalne pytanie, wygląda na to, że użytkownik chciał tylko uruchomić polecenie jako root, to właśnie muszę zrobić, gdy szukałem odpowiedzi i natknąłem się na to pytanie.
Więc moim zdaniem warto wiedzieć:
vagrant ssh servername -c "echo vagrant | sudo -S shutdown 0"
vagrant
to hasło powtarzane w poleceniu sudo, ponieważ jak wszyscy wiemy, konto vagrant ma uprawnienia sudo, a kiedy używasz sudo, musisz podać hasło konta użytkownika, a nie roota ... i oczywiście domyślnie hasło użytkownika włóczęgi tovagrant
!Domyślnie potrzebujesz uprawnień roota, aby zamknąć system, więc myślę, że zamknięcie systemu jest dobrym testem.
Oczywiście nie musisz określać nazwy serwera, jeśli jest tylko jeden dla tego środowiska włóczęgów. Mówimy również o lokalnej maszynie wirtualnej włóczęgi do hosta, więc tak naprawdę nie widzę żadnego problemu z bezpieczeństwem.
Mam nadzieję że to pomoże.
źródło
Miałem problemy z obsługą administracyjną podczas próby zalogowania się jako root, nawet z
PermitRootLogin yes
. Zrobiłem to, więc dotyczy to tylkovagrant ssh
polecenia:źródło
Dodaj to do pliku włóczęgi:
źródło