Lokalna maszyna Vagrant zainstalowana pod adresem IP 10.0.0.23
z nazwą hosta lamp-vm
.
Za pomocą vagrant ssh
polecenia mogę się dobrze połączyć i zrobić wszystko, czego potrzebuję.
To powoduje błąd
$ ssh vagrant @ lamp-vm -v -v
debug1: podłącz do adresu 10.0.0.23 port 22: Przekroczono limit czasu połączenia
ssh: połącz z portem lamp-vm hosta 22: Przekroczono limit czasu połączenia
Mój /etc/hosts
plik zawiera 10.0.0.23 lamp-vm
.
Wygląda mój plik .ssh / config
Host lamp-vm
Użytkownik vagrant
IdentityFile ~ / .ssh / vagrant
Próbowałem również polecenia ssh z i bez -i /path/to/.sh/identity_file
.
Jak połączyć się z moją Wirtualną maszyną wirtualną za pomocą SSH?
ssh -p 2222 vagrant@localhost
Nie wpłynie to na połączenie localhost ( ).Jest stary, ale ponieważ nie ma odpowiedzi, podam jedną. Komenda:
Jest odpowiednikiem
Jest to zachowanie domyślne, jeśli odpowiednio zmieniłeś coś, zmieniając polecenie. Przede wszystkim Vagrant stworzy włóczęgę użytkownika na twojej gościce, a ty użyjesz tego użytkownika do ssh. Jak powiedzieli poprzedni ludzie, domyślnie przekieruje ruch z portu 2222 na hoście do portu 22 na twoim gościu (domyślnie kiedy używasz włóczęgi, widzisz ten komunikat). I wreszcie Vagrant tworzy klucze do sesji ssh, więc nie musisz, więc musisz podać klucz publiczny jako argument podczas połączenia przez ssh.
źródło
To zachowanie jest zgodne z projektem.
Vagrant używa trybu NAT VirtualBox, co oznacza korzystanie z przekierowania portów.
Nie można SSH bezpośrednio na maszynę wirtualną w trybie NAT.
Użycie „vagrant ssh” oznacza, że włóczęga dokona przekierowania portu, więc nie musisz się o to martwić. Myślę, że domyślnie połączy się on z hostem lokalnym na porcie 2222, ale spróbuje również rozwiązać wszelkie kolizje numerów portów.
Jeśli potrzebujesz SSH bezpośrednio na maszynę wirtualną, przełącz maszynę wirtualną w tryb sieciowy typu host lub most.
źródło
Dodałbym to jako komentarz, ale obecnie nie mam wystarczającej liczby przedstawicieli, aby to zrobić. Napisałem tutaj instrukcje dotyczące ustawiania maszyny wirtualnej do trybu pomostowego tutaj:
/ubuntu/116861/setting-up-a-network-between-a-host-and-guest-virtual-machine/116909#116909
Mam nadzieję, że uznasz to za przydatne!
źródło
Windows / Vagrant / Ubuntu
To działało dla mnie i możesz szybko dowiedzieć się, czy to zadziała, uruchamiając to na kliencie ssh.
ssh [email protected] -p 2222 -v
-V przełączy go w tryb gadatliwy i wyświetli informacje o debugowaniu ...
Więc ... SSH2_MSG_KEXINIT oznacza, że klucze są wymieniane. To się wkrótce nie udaje ...
W takim przypadku usunąłem klucze i ponownie wygenerowałem je, robiąc to na maszynie wirtualnej. ( http://ask.xmodulo.com/sshd-error-could-not-load-host-key.html )
$ ls -al / etc / ssh / ssh key
$ sudo rm -r / etc / ssh / ssh key
$ sudo dpkg-rekonfiguracja openssh-server
Gdy moje klucze zostały zregenerowane, byłem w stanie SSH do mojej Vagrant Box.
źródło
Zniszczona maszyna wirtualna
Ponownie załadowano maszynę wirtualną
Wszystko działało
Nie jestem pewien, dlaczego, ale oczywiście coś nie ładowało się poprawnie przy pierwszym udostępnianiu.
źródło
Sprawdź ten komentarz: https://github.com/mitchellh/vagrant/issues/1936#issuecomment-21139674
Zasadniczo, nawet gdy używasz sieci prywatnej, włóczęga nadal używa ssh na 127.0.0.1. Wypróbuj to polecenie ssh @ 127.0.0.1 zamiast prywatnego adresu IP / hosta.
źródło