Problem z uwierzytelnianiem ssh:
==> default: Clearing any previously set forwarded ports...
==> default: Clearing any previously set network interfaces...
==> default: Preparing network interfaces based on configuration...
default: Adapter 1: nat
default: Adapter 2: bridged
==> default: Forwarding ports...
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Connection timeout. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
default: Error: Authentication failure. Retrying...
Mogę Ctrl+C
wyjść z pętli uwierzytelniania, a następnie pomyślnie ssh wejść ręcznie.
Wykonałem następujące kroki na skrzynce dla gości:
Włączone
Remote Login
dlaAll Users
.Utworzono
~/.ssh
katalog z0700
uprawnieniami.Utworzono
~/.ssh/authorized_keys
plik z0600
uprawnieniami.Wklejono ten klucz publiczny do
~/.ssh/authorized_keys
Próbowałem również użyć sieci prywatnej (tylko hostowej) zamiast sieci publicznej (mostowanej), używając tego wiersza w pliku Vagrantfile:
config.vm.network "private_network", ip: "172.16.177.7"
Otrzymuję te same dane wyjściowe (z wyjątkiem Adapter 2: hostonly
), ale nie mogę ssh wprowadzić ręcznie.
Ja też próbowałem config.vm.network "private_network", ip: "10.0.0.100"
.
Próbowałem też config.ssh.password
umieścić w Vagrantfile. To wyświetla, SSH auth method: password
ale nadal nie uwierzytelnia się.
Spróbowałem także odbudować pudełko i ponownie sprawdzić wszystkie powyższe.
Wygląda na to, że inni odnieśli sukces z tą konfiguracją , więc musi być coś, co robię źle.
I znaleźć ten wątek i włączona GUI, ale to nie pomaga.
źródło
config.ssh.private_key_path = "~/.ssh/id_rsa"
musiałem usunąć tę linię, aby obsługa administracyjna działałaŻadne z powyższych nie działało dla mnie. W jakiś sposób do skrzynki został dodany zły klucz publiczny w pliku authorised_keys użytkownika vagrant .
Jeśli nadal możesz ssh na pudełku z hasłem vagrant (hasło to vagrant), tj
następnie skopiuj zawartość klucza publicznego z https://raw.githubusercontent.com/mitchellh/vagrant/master/keys/vagrant.pub do pliku authorised_keys za pomocą następującego polecenia
Po zakończeniu wyjdź z maszyny wirtualnej i spróbuj ponownie ssh vagrant. Teraz powinno działać.
źródło
vagrant reload
po zaktualizowaniu pliku Authorized_keys. Vagrant automatycznie wykryje niezabezpieczony klucz i wygeneruje go ponownie. Powinien działać później.Jeśli napotkasz ten problem na vagrant 1.8.5, sprawdź ten wątek na github:
https://github.com/mitchellh/vagrant/issues/7610
Zasadniczo jest to spowodowane problemem z uprawnieniami, obejście jest po prostu
następnie
FYI: ten problem dotyczy tylko CentOS, Ubuntu działa dobrze.
źródło
Uruchom następujące polecenia na maszynie gościa / maszynie wirtualnej:
Następnie zatrzymaj się włóczęgami. Spowoduje to usunięcie i ponowne wygenerowanie kluczy prywatnych.
(Te kroki zakładają, że już utworzyłeś lub masz już katalogi ~ / .ssh / i ~ / .ssh / authoris_keys w swoim katalogu domowym).
źródło
Z mojego doświadczenia wynika, że był to zaskakująco częsty problem z nowymi maszynami włóczęgami. Zdecydowanie najłatwiejszym sposobem rozwiązania tego problemu, zamiast zmieniać samą konfigurację, jest ręczne utworzenie wymaganych kluczy ssh na kliencie, a następnie użycie klucza prywatnego na hoście.
vagrant ssh
użyj domyślnego hasłavagrant
.ssh-keygen -t rsa -b 4096 -C "vagrant"
( zgodnie z zaleceniami odpowiedniego przewodnika GitHub ).mv .ssh/id_rsa.pub .ssh/authorized_keys
.sudo service ssh reload
.cat .ssh/id_rsa
i kopiuj (muszą istnieć lepsze sposoby, wymyśl jeden!).logout
.vagrant ssh-config
(poszukaj na przykład ÌdentityFile "/[...]/private_key".nano /[...]/private_key
i wklej ze schowka, jeśli wszystko inne zawiedzie. ( Pamiętaj jednak, że jeśli twój klucz_prywatny nie jest specyficzny dla projektu, ale współdzielony przez wiele maszyn włóczęgów, lepiej skonfiguruj ścieżkę samodzielnie, aby nie przerywać innych doskonale działających maszyn! Zmiana ścieżki jest tak prosta, jak dodanie liniiconfig.ssh.private_key_path = "path/to/private_key"
do pliku Vagrantfile. ) Ponadto, jeśli używasz maszyny wygenerowanej przez PuPHPet , możesz zapisać swój klucz prywatny do plikupuphpet/files/dot/ssh/id_rsa
i zostanie on automatycznie dodany do konfiguracji ssh Vagrantfile.vagrant ssh
powinna teraz działać.W takim przypadku pogratuluj sobie,
logout
biegnij wvagrant provision
razie potrzeby i wykonuj znaczące zadanie.Jeśli nadal masz problemy, przydatne może być dodanie flagi gadatliwości do polecenia ssh, aby ułatwić debugowanie. Możesz to przekazać (lub dowolną inną opcję) po podwójnym myślniku. Na przykład wpisanie
vagrant ssh -- -v
. Możesz dodać tyle v, ile potrzebujesz, każdy poda więcej informacji.źródło
ssh [email protected] -p 22 (password: vagrant)
zalogowanie się do VM, ponieważvagrant ssh
nie działało dla mnie.10.0.0.0
to prywatny adres IP, który ustawiłem w moimvagrantfile
.Może się to również zdarzyć, jeśli próbujesz zmusić maszynę wirtualną do domyślnego używania użytkownika root dla SSH ...
Na przykład taka konfiguracja w pliku Vagrantfile może spowodować ten błąd:
Rozwiązanie: Skomentuj te wiersze i spróbuj ponownie!
źródło
Problem Otrzymałem błędy uwierzytelniania ssh na skonfigurowanym urządzeniu. Oryginał działał dobrze.
Problem polegał na tym, że brakowało mi klucza prywatnego w
.vagrant/machines/default/virtualbox/private_key
. Skopiowałem klucz prywatny z tej samej względnej lokalizacji z oryginalnego pudełka i Violi!źródło
.vagrant
pliki do gita ... i jako taki, szybkigit checkout
wspomniany plik ratuje dzień!Znalazłem sposób na obejście tego bałaganu z kluczami w Win 8.2, gdzie nie udało mi się zastosować żadnej z wymienionych tutaj metod. Może być interesujące, że dokładnie ta sama kombinacja VirtualBox, Vagrant i box działa w Win 7 Ultimate bez żadnych problemów.
Przełączyłem się na uwierzytelnianie za pomocą hasła, dodając następujące polecenia w pliku Vagrantfile:
Zwróć uwagę, że nie jestem pewien, czy to jedyne wymagane zmiany, ponieważ już to zrobiłem:
Wygenerowałem nową parę kluczy RSA i odpowiednio zmieniłem plik allowed_keys (wszystko na maszynie wirtualnej, zobacz sugestie powyżej i gdzie indziej)
Skopiowałem klucz prywatny do tego samego katalogu, w którym znajduje się plik Vagrantfile i dodałem
Ale uważam, że te zmiany były nieistotne. Spędziłem dużo czasu próbując, więc nie zmieniłem konfiguracji roboczej z oczywistych powodów :)
źródło
Nie możesz uruchomić włóczęgi, ponieważ utknął i przekroczył limit czasu?
Niedawno miałem „wypadek wody w laptopie” i musiałem przejść na nowy (przy okazji na MAC).
Z powodzeniem uruchomiłem wszystkie moje projekty oprócz tego, który używał włóczęgi.
Nie mógł się uwierzytelnić, ponawiał próby i ostatecznie się poddał.
** Oto jak przywróciłem go do formy w 3 krokach: **
1 - Znajdź plik tożsamości używany przez włóczęgę: $
vagrant ssh-config
2 - Sprawdź klucz publiczny w IdentityFile: $
ssh-keygen -y -f /Users/<user-name>/.vagrant.d/insecure_private_key
Zastąp'<user-name>'
swoim użytkownikiem. Będzie wyglądać mniej więcej tak:3 - Zaloguj się do maszyny włóczęgów za pomocą hasła „vagrant”: $
ssh -p 2222 -o UserKnownHostsFile=/dev/null [email protected]
4 - Dodaj klucz publiczny do pliku allowed_keys. $
echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAA...9gE98OHlnVYCzRdK8jlqm8tehUc9c9WhQ==" > /home/vagrant/.ssh/authorized_keys ssh-rsa
5 - Wyjdź (crtl + d) i zatrzymaj pojemnik wędrowca i przynieś go z powrotem. $
vagrant halt
$vagrant up
Miejmy nadzieję, że teraz będziesz miał ręce w powietrzu ...
Mam to, z niewielką poprawką, z artykułu Neda Batcheldersa - Ned, jesteś mistrzem !!
źródło
dla mnie problem ten został rozwiązany przez zmianę uprawnień do folderu .ssh w katalogu domowym vagrant (tj. „~ vagrant / .ssh”). Wydaje mi się, że pomieszałem uprawnienia podczas konfigurowania kluczy ssh dla mojej aplikacji.
Wygląda na to, że plik „Authorized_keys” musi mieć wartość „rw” tylko dla użytkownika „vagrant”, więc „chmod 600 Authorized_keys”; to samo dotyczy samego katalogu i jego rodzica:
więc:
Dopiero po przywróceniu wszystkich tych uprawnień vagrant ssh zaczął ponownie działać.
Myślę, że ma to coś wspólnego z bezpieczeństwem ssh. Odmawia uznania certyfikatów, jeśli są w jakikolwiek sposób dostępne poza bieżącym użytkownikiem, więc próby logowania włóczęgów są odrzucane.
źródło
/vagrant/...
Jeśli używasz domyślnej konfiguracji SSH w swoim VagrantFile i zacząłeś widzieć błędy uwierzytelniania SSH po ponownym skojarzeniu skrzynki maszyny wirtualnej z powodu awarii, spróbuj wymienić klucz publiczny na swoim komputerze włóczęgi.
Vagrant zastępuje klucz publiczny skojarzony z niezabezpieczoną parą kluczy prywatnych przy każdym wylogowaniu ze względów bezpieczeństwa. Jeśli nie wyłączyłeś poprawnie komputera, para kluczy publiczny / prywatny może stracić synchronizację, powodując błąd uwierzytelniania SSH.
Aby rozwiązać ten problem, po prostu załaduj bieżący niezabezpieczony klucz prywatny, a następnie skopiuj parę kluczy publicznych do pliku authorised_keys maszyny wirtualnej.
źródło
To może być ostatnia odpowiedź na liście, ale to zadziałało dla mnie i nigdzie jej nie znalazłem, znalazłem ją sam po 2 dniach poszukiwań, więc lepiej spróbuj tego, jeśli nic innego nie działało do tej pory.
W moim przypadku problem pochodzi z mojego VirtualBox. Nie wiem, z jakiego powodu opcja została wyłączona i powinna być włączona.
Jak widać na obrazku, wystąpiły problemy sieciowe z moim VirtualBoxem i co musiałem zrobić, aby rozwiązać ten problem, to wybrać mój komputer, nacisnąć ustawienia, zakładkę sieci, a następnie upewnić się, że opcja Kabel podłączony został wybrany. W moim przypadku ta opcja nie została wybrana i nie udało mi się na tym kroku:
Najpierw pomyślałem, że port jest już używany, potem przeinstalowałem Vagranta i próbowałem też innych rzeczy, ale żadna z nich nie działała.
źródło
Zdarzyło mi się to kilka razy i sposób, w jaki to rozwiązałem, był następujący:
Sprawdź i upewnij się, że plik Vagrantfile ma poprawną ścieżkę klucza prywatnego:
config.ssh.private_key_path = "/home/razvan/.ssh/id_rsa"
Wykonaj polecenie> vagrant ssh w terminalu linux
Na swojej maszynie włóczęgów przejdź do
cd /home/vagrant/.ssh
i sprawdź, czy klucz ssh w pliku authorised_keys jest taki sam, jak ten, który masz na komputerze lokalnym w ~ / .ssh / id_rsa.pub. Jeśli nie, zamień ten z twojego vagranta Authorized_keys na ten z twojego lokalnego komputera znaleziony w ~ / .ssh / id_rsa.pub.
Wczytaj ponownie Vagrant:
włóczęga przeładuj
Mam nadzieję, że to pomoże komuś innemu. Twoje zdrowie!
źródło
authorized_keys
plik z uprawnieniami 600 w środku.1. Znajdź klucz prywatny na hoście:
Wynik:
2. Zapisz ścieżkę klucza prywatnego i numer portu w zmiennych:
Użyj tych dwóch poleceń z wyjściem z góry:
3. Wygeneruj klucz publiczny i prześlij go na komputer gościa:
Kopiowanie / makaron, bez zmian:
źródło
config.ssh.username = "vagrant"; config.ssh.password = "vagrant"; config.ssh.insert_key = true
Ale tym razem powyższa konfiguracja nic nie dała. Naprawdę nie wiem dlaczego, próbowałem debugować, dlaczego klucz nie jest włożony bez szczęścia. Więc skorzystałem z twojego rozwiązania i voila! To działa!Rozwiązanie dla komputerów Mac:
Dodano lokalny klucz ssh id_rsa do klucza prywatnego włóczęgi
vi /Users//.vagrant/machines/default/virtualbox/private_key
/Users//.ssh/id_rsa
skopiowano klucz publiczny /Users//.ssh/id_rsa.pub na skrzynkę vagrant Authorized_keys
ssh vagrant@localhost -p 2222
(hasło: vagrant)ls -la
cd .ssh
chmod 0600 ~/.ssh/authorized_keys
vagrant reload
Problem rozwiązany.
Dzięki
źródło
również nie mógł wyjść poza:
domyślnie: metoda uwierzytelniania SSH: klucz prywatny
Kiedy użyłem GUI VirtualBox, powiedział mi, że wystąpiła niezgodność procesora systemu operacyjnego.
Aby uzyskać dalsze postępy włóczęgi, w ustawieniach BIOS-u musiałem przeciwdziałać intuicyjnie:
Wyłącz: wirtualizacja
Włącz: VT-X
Spróbuj zmienić te ustawienia w systemie BIOS.
źródło
Przede wszystkim należy usunąć automatycznie wygenerowany plik insecure_private_key, a następnie zregenerować ten plik wpisując
następnie
Powinno działać
źródło
Rozwiązałem problem w następujący sposób. 1. Utwórz nowy klucz SSH za pomocą Git Bash
Gdy pojawi się monit „Wprowadź plik, w którym chcesz zapisać klucz”, naciśnij Enter. Akceptuje domyślną lokalizację pliku.
Wprowadź plik, w którym chcesz zapisać klucz (/Users/[you]/.ssh/id_rsa): [Wciśnij enter]
Po wyświetleniu monitu wpisz bezpieczne hasło. Możesz zostawić puste i nacisnąć Enter, jeśli nie potrzebujesz hasła.
Wprowadź plik, w którym chcesz zapisać klucz (/Users/[you]/.ssh/id_rsa): [Wciśnij enter]
Aby połączyć się z maszyną wirtualną Vagrant, wpisz następujące polecenie
ssh vagrant @ localhost -p 2222
Gdy pojawi się następujący komunikat, wpisz „tak” i naciśnij enter.
Teraz, aby ustanowić typ połączenia SSH: $ vagrant ssh
Skopiuj klucz publiczny hosta do pliku allowed_keys w Vagrant VM. W tym celu przejdź do folderu „Users / [you] /. Ssh” i skopiuj zawartość z pliku id_rsa.pub na komputerze hosta, a następnie do pliku „~ / .ssh / authoris_keys” w Vagrant VM.
źródło
Uruchomiłem maszynę, a następnie:
vagrant ssh-config
Otrzymałem następujące informacje:
Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa IdentityFile /Users/my-user-name/.vagrant.d/insecure_private_key IdentitiesOnly yes LogLevel FATAL
Potem uciekłem
cat ~/.ssh/id_rsa > /Users/my-user-name/Documents/PHP-Projects/my-php-project/puphpet/files/dot/ssh/id_rsa
Od tego momentu maszyna została uruchomiona
źródło
Pomiędzy wszystkimi odpowiedziami jest wiele dobrych rzeczy do wypróbowania. Dla kompletności, jeśli ty
ssh vagrant@localhost -p 2222
jak sugeruje @Bizmate, ale nie udaje się, upewnij się, że tak
AllowUsers vagrant
w
/etc/ssh/sshd_config
maszynie gościa / włóczęgi.źródło
Używam Vagranta z konfiguracją Puphpet od maja 2015 roku i mam ten problem. Wygląda na to, że wygenerowana konfiguracja nie obsługuje zachowania Vagrant 1.7.4 (a może nieco wcześniej?) Polegającego na regeneracji kluczy ssh, jeśli wykryje niezabezpieczony klucz.
Rozwiązałem to, dodając następujący fragment w moim pliku Vagrantfile wygenerowanym przez Puphpet (konfiguracja lokalna) w klauzuli „if File.file? (CustomKey)”:
Odniesienie do zatwierdzenia
źródło
To wszystkie poprawne kroki, które wykonałem, aby naprawić ten poniższy problem, wystąpiły po uruchomieniu polecenia vagrant up.
Oto kroki, które podjąłem
************************ TO DLA MNIE W porządku ******************** ***********
źródło
Tylko dla tych ludzi, którzy byli idiotami takimi jak ja, albo coś dziwnego stało się z ich włóczęgą maszyną. Ten błąd może również wystąpić, gdy zmienisz uprawnienia katalogu domowego użytkownika włóczęgi (celowo lub przypadkowo).
Zamiast tego możesz zalogować się (jak opisano w innych postach) za pomocą hasła („vagrant”), a następnie uruchomić następujące polecenie, aby naprawić uprawnienia.
sudo chown -R vagrant:vagrant /home/vagrant
Wtedy powinno być możliwe ponowne zalogowanie się bez podawania hasła.
TL; DR: Uprawnienia do folderu domowego włóczęgi są nieprawidłowe.
źródło
Prosty:
Edytuj (nie tak proste, jak pierwsza myśl):
Problem polegał na tym, że nowe wersje użytkowania zagród
php7.0
i kilka innych rzeczy. Aby uniknąć tego bałagan upewnij się ustawićverison
wHomestead.yml
:źródło
Rozwiązałem ten problem, uruchamiając polecenia w systemie Windows 7 CMD, jak podano w tym tutaj jest link ostatni post w tym wątku,
https://github.com/mitchellh/vagrant/issues/6744
źródło
Przez ostatnie kilka dni biłem się w głowę na przepakowanym pudełku bazowym. (Mac OS X, El Capitan)
Zgodnie z procedurą @Radek wykonałem 'vagrant ssh-config' na skrzynce źródłowej i otrzymałem:
Na nowej kopii to polecenie dało mi:
Więc właśnie dodałem tę linię w nowej kopii:
Nie jest idealny, ale mogę żyć dalej.
źródło
Kolejne proste rozwiązanie, w systemie Windows przejdź do pliku Homestead / Vagrantfile i dodaj te linie, aby połączyć się z nazwą użytkownika / hasłem zamiast klucza prywatnego:
Ostatecznie część pliku będzie więc wyglądać następująco:
Mam nadzieję, że to pomoże ..
źródło
Próbowałem tego na mojej maszynie VM
zmień uprawnienia / home / vagrant (zrobił na tym chmod 700)
teraz mogę ssh bezpośrednio do moich pudełek
źródło