Chcę skonfigurować tunel ssh do serwera mysql, który jest na komputerze z maszyną wirtualną. Również tunel musi działać, jeśli maszyna zostanie ponownie uruchomiona.
Powiedzmy, że A to komputer z oprogramowaniem linux. B - maszyna wirtualna na komputerze A.
MySQL znajduje się w B.
C - to maszyna wirtualna na komputerze A, która chce połączyć się z MySQL w B.
Teraz ten artykuł: http://www.thegeekstuff.com/2008/11/3-steps-to-perform-ssh-login-without-password-using-ssh-keygen-ssh-copy-id/
Próbuję skopiować klucz publiczny na zdalny serwer. Chyba muszę go skopiować na komputer A.
ssh-copy-id -i id_rsa.pub.bak [user]@[IP of A] -p [port of A]
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Teraz próbowałem wprowadzić hasło pliku id_rsa.pub.bak. Zaprzeczył.
Potem widzę, że używa klucza w /home/[user]/.ssh/id_rsa, który jest inny niż klucz publiczny, który próbuję skopiować, oczywiście klucz prywatny jest inny, ale mam na myśli, że kopiuję klucz publiczny innego prywatny klucz. Więc próbowałem użyć tego hasła. Również odmówiono.
Jak mogę debugować, dlaczego hasło jest odrzucane?
Aktualizacja
Na podstawie komentarzy stworzyłem nowy plik publiczny o nazwie id_rsa.pub, w którym wszystko jest teraz w jednej linii
i uruchom i nadal pojawia się błąd.
ssh-copy-id -i id_rsa.pub [host and port] -vvv
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Aktualizacja
Sprawdzono uprawnienia do folderu .ssh i pliku autoryzowanych_kluczy na komputerze A - są to 700 i 600, więc komentarz mówi, że są dobre.
Aktualizacja
Próbowałem ustawić uwierzytelnianie hasła tak na komputerze i ponownie uruchomić usługę. Ponowne uruchomienie, ponieważ odpowiedź nie zadziałała, napisano, że sshd nie został rozpoznany, więc uruchomiłem ponownie używając:
sudo /etc/init.d/ssh restart
Następnie spróbowałem ponownie na komputerze C, aby skopiować na komputer A.
ssh-copy-id -i id_rsa.pub [user@host] -p [port] -v
i wciąż to samo:
Enter passphrase for key '/home/[user]/.ssh/id_rsa':
Permission denied (publickey).
Jeśli idę ręcznie skopiować klucz do uprawnionych kluczy, widzę, że klucz publiczny już istnieje, taki sam, który chcę skopiować. Zapytałem mojego współpracownika, który powiedział, że go nie skopiował. Więc nawet nie rozumiem, jak może tam być.
Ok, jeśli tak, byłoby dobrze, ale pozostanie tam nie pozwala mi połączyć się z ssh bez wpisywania hasła. Ale udało mi się połączyć z wprowadzeniem hasła. Więc coś jest nadal wyraźnie nie tak. A klucz, który próbuję skopiować, to puste hasło. Kiedy połączyłem się z ssh - wprowadziłem hasło, które nie było puste.
Ten sam klucz publiczny nie może zaakceptować pustego hasła i niepustego hasła, co ma sens. Ale dlaczego klucz publiczny, który próbuję przesłać, jest taki sam, jak klucz w pliku Author_keys, jeśli hasła są różne? Nie sprawdzałem każdej postaci, ale jest mało prawdopodobne, aby klucze były tak podobne, że początek i koniec byłyby takie same, nawet jeśli hasło jest inne.
id_rsa
od? Spodziewałbymssh-copy-id
się niepowodzenia z komunikatem o błędzie w sposób, w jaki go nazwiesz, ponieważ oczekuje on pliku kończącego się na.pub
. Jak twój koniec z.bak
tym prawdopodobnie skorzystałbyid_rsa.pub.bak.pub
.