Automatyczne logowanie SSH bez hasła może ułatwić nam życie. Aby to włączyć, mamy 2 opcje: korzystanie z uwierzytelniania opartego na kluczach poprzez kopiowanie naszych kluczy publicznych SSH na zdalne maszyny W celu automatycznego logowania bez hasła lub korzystanie z uwierzytelniania opartego na hasłach. Przedstawię 2 opcje w poście. Zanim zaczniesz, pamiętaj, że uwierzytelnianie oparte na kluczach jest zazwyczaj sugerowane, gdy pozwala na to środowisko pracy.,
wprowadzamy w tym poście dwie metody: za pomocą polecenia ssh-copy-id i ręcznego sposobu.
Wygeneruj parę kluczy SSH
Jeśli nie masz jeszcze pary kluczy prywatnych / publicznych SSH, możesz ją najpierw wygenerować.
$ ssh-keygen -t rsa
domyślnie w Linuksie para kluczy jest przechowywana w~/.ssh
o nazwieid_rsa
Iid_rsa.pub
dla klucza prywatnego i publicznego.,
skopiuj publiczny klucz SSH na zdalną maszynę
masz tu dwie opcje. Chyba że nie można użyć metody ssh-copy-id
, można spróbować „manual” sposób.
najprostszy sposób
pozwól ssh-copy-id zrobić to automatycznie:
$ ssh-copy-id username@remotemachine
Jeśli masz wiele kluczy w katalogu~/.ssh
, może być konieczne użycie-i key_file
aby określić, którego klucza użyjesz.,
ręczny sposób
skopiuj publiczny klucz SSH na zdalną maszynę
$ scp .ssh/id_rsa.pub username@remotemachine:/tmp/
Zaloguj się na zdalnej maszynie
$ ssh username@remotemachine
Dołącz swój publiczny klucz SSH do ~/.ssh / authorized_keys
upewnij się, że tryb ~/.ssh / authorized_keys to 755:
$ chmod 755 ~/.ssh/authorized_keys
Możliwe problemy
niektóre Możliwe problemy, które uniemożliwiają pomyślne skonfigurowanie logowania bez hasła.,
uprawnienia katalogu/pliku
katalog domowy
Sprawdź uprawnienia katalogu domowego, które mogą spowodować błąd logowania opartego na kluczu (Załóżmy, że katalog domowy to/home/zma):
# chmod 700 /home/zma/
~/.uprawnienia ssh
upewnij się, że .uprawnienia katalogu ssh to 755:
$ chmod 755 ~/.ssh/
~/.uprawnienia ssh / authroized_keys
upewnij się, że .uprawnienia katalogu ssh to 755:
$ chmod 755 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh/id_rsa$ chmod 700 ~/.ssh/id_rsa.pub
oparte na hasłach „bez hasła” logowanie ssh
ta metoda logowania i uwierzytelniania jest nadal hasłem., Jednak używamy narzędzia, które pomaga nam wprowadzić hasło automatycznie. Narzędzie tosshpass
, które działa ładnie.
użycie jest bardzo proste, podając hasło w wierszu poleceń:
$ sshpass -p "your_password_here" ssh username@remotemachine
lub podając hasło w pierwszej linii pliku
$ sshpass -f /path/to/file_storing_your_password ssh username@remotemachine
względy bezpieczeństwa: przed użyciem sshpass
przeczytaj „kwestie bezpieczeństwa” na stronie podręcznika sshpass
, aby poznać problemy z bezpieczeństwem i używać ich tylko wtedy, gdy można je tolerować.,
Articles