Powinieneś używać kluczy SSH do uwierzytelniania, zamiast umieszczać hasło w linii poleceń, ponieważ jest to bardzo niebezpieczne.
Działa to po skonfigurowaniu kluczy SSH, wystarczy wydać polecenie:
ssh user@host
i bez wpisywania innej rzeczy, zostaniesz automatycznie zalogowany.
Skopiuj klucz publiczny SSH na Mac / FreeBSD / Linux z macOS
Zakłada się, że masz dostęp do zdalnego serwera za pomocą uwierzytelniania opartego na haśle (wpisując hasło) i że już wygenerowałeś klucz prywatny / publiczny (jeśli nie, patrz poniżej). W poniższym przykładzie używamy RSA. Na początek skopiujmy klucz (pamiętaj, że katalog „home” różni się między macOS, Linux, BSD itp.):
Za pomocą SCP:
scp ~/.ssh/id_rsa.pub username@hostname:/Users/username/.ssh/
Lub po prostu cat-plik do authorized_keys
(wolę tę metodę):
cat id_rsa.pub | ssh username@hostname ' cat >>.ssh/authorized_keys'
(Twoja nazwa klucza może się różnić) Jeśli katalog .ssh nie istnieje na serwerze zdalnym, musisz się zalogować i utworzyć.
Teraz klucz został skopiowany z komputera Mac na zdalny serwer. Ustaw prawidłowe uprawnienia do klucza publicznego SSH na zdalnym serwerze:
chmod 600 ~/.ssh/id_rsa.pub
Następnie dodaj klucz do pliku autoryzowanych kluczy SSH, jeśli plik nie istnieje, utwórz go.
Jeśli plik authorized_keys
już istnieje, ~/.ssh
użyj następującego polecenia:
cat id_rsa.pub >> authorized_keys
Jeśli plik nie istnieje, wprowadź następujące polecenia:
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys
chown user:group authorized_keys
Wygeneruj klucz publiczny / prywatny SSH na macOS
Otwórz Terminal, przechodząc do Aplikacje -> Narzędzia -> Terminal
W terminalu użyj następującego polecenia, aby rozpocząć generowanie klucza
ssh-keygen -t rsa
Następnie zostaniesz poproszony o podanie lokalizacji, w której chcesz utworzyć plik klucza prywatnego:
Wprowadź plik, w którym chcesz zapisać klucz ( /Users/username/.ssh/id_rsa
):
Pozostaw to puste, aby utworzyć klucz w domyślnej lokalizacji, czyli /Users/username/.ssh/id_rsa
. Plik klucza publicznego zostanie utworzony w tej samej lokalizacji i pod tą samą nazwą, ale z rozszerzeniem .PUB.
Po pojawieniu się monitu o wybranie hasła. To hasło jest opcjonalne, aby użyć klucza prywatnego.
Enter passphrase (empty for no passphrase):
Twój klucz SSH został wygenerowany.
Pamiętaj, że jeśli wpiszesz hasło, będziesz musiał je wprowadzić przy każdym połączeniu. Narzędzie ssh-agent
zachowa hasło w pamięci, eliminując potrzebę ręcznego wprowadzania go za każdym razem, gdy łączysz się podczas tej samej sesji. Aby uzyskać więcej informacji zobaczman ssh-agent