Wymagania wstępne:
Przed rozpoczęciem kroków w tym samouczku konieczne będą następujące kroki do ukończenia.
Włącz usługę SSH na Ubuntu, jeśli nie jest ona wcześniej włączona.
Wygeneruj pary kluczy SSH, aby wykonać polecenia na zdalnym serwerze. Uruchom następujące polecenie, aby utworzyć klucz publiczny i klucz prywatny. Klucz prywatny będzie przechowywany na zdalnym serwerze, a klucze publiczne będą bezpiecznie przechowywane w kliencie.
$ ssh -keygen -t rsa
Uruchom następujące polecenie, aby otworzyć sshd_config Plik za pomocą nano edytora, aby dodać niezbędne konfiguracje.
$ sudo nano/etc/ssh/sshd_config
Dodaj następujące wiersze w pliku, aby włączyć logowanie root i uwierzytelnianie oparte na hasłach.
HasłoAuthentication Tak
Pertrootlogin Tak
Uruchom następujące polecenie, aby ponownie uruchomić usługę SSH.
$ sudo service ssh restart
Składnia:
Składnia polecenia SSH-Copy-ID podano poniżej. Obsługuje wiele opcji, które zostały wyjaśnione później.
ssh-copy-id [-lv] [-i KeyFile] [-o opcja] [-p port] [użytkownik@] nazwa hosta
Różne opcje polecenia ssh-copy-id:
Cele korzystania z różnych opcji poleceń SSH-Copy-ID zostały opisane w tej części samouczka.
Opcja | Zamiar |
-Kluczowy | Służy do kopiowania klucza publicznego, który jest przechowywany w plik. Można go używać wiele razy. |
-L | Służy do kopiowania kluczy obecnie posiadanych przez SSH-Agent. Używa jako domyślny, jeśli opcja -i nie jest określona. |
-O SSH-Option | Służy do przekazywania opcji bezpośrednio do SSH. Można go używać wiele razy. |
-P Port | Służy do łączenia z określonym portem na zdalnym hoście zamiast domyślnego portu, który ma 22. |
-v | Służy do przekazywania wartości -V do SSH. |
Skopiuj klucz do serwera:
Musisz autoryzować klucz publiczny w komputerze serwerowym do ustanowienia połączenia SSH bez użycia hasła. Po utworzeniu klucza publicznego polecenie SSH-Copy-ID może dodać klucz jako autoryzowany klucz na komputerze serwerowym.
Uruchom następujące polecenie z komputera serwerowego, aby dodać dowolny nowo utworzony klucz publiczny jako autoryzowany klucz serwera.
$ ssh-copy-id fahmida@fahmida-virtualbox
Następujące dane wyjściowe pojawią się, jeśli klucz publiczny już istnieje na zdalnym serwerze; W przeciwnym razie klucz zostanie dodany.
Wcześniej wspomniano, że opcja -i jest używana z poleceniem ssh-copy-id, aby dodać klucz publiczny z pliku. Jeśli przechowywałeś nowo utworzony klawisz publiczny w pliku domyślnym, nazwa pliku będzie id_rsa.pub. Ale podczas tworzenia pary kluczy ustawiłeś dowolną nazwę pliku, a następnie użyj tej nazwy pliku z opcją -i. Zapisałem klucz publiczny w pliku domyślnym.
Uruchom następujące polecenie z komputera serwerowego, aby dodać klucz publiczny do komputera serwerowego. Polecenie skopiuje klucz do serwera i skonfiguruje go, aby dodać klucz do autoryzowane_keys plik dostęp do serwera.
$ ssh-copy-id -i ~/.ssh/id_rsa fahmida@fahmida-virtualbox
Pojawi się następujące dane wyjściowe, jeśli klucz publiczny nie dodał wcześniej do komputera serwerowego.
Sprawdź połączenie:
Po dodaniu klucza do serwera musisz sprawdzić, czy komputer klienta może połączyć się z serwerem. Nazwa użytkownika komputera serwerowego to „Fahmida”, a komputer klienta jest tutaj „tak. Zaloguj się więc do komputera klienta, aby przetestować połączenie.
Uruchom następujące polecenie, aby dodać tożsamość serwera do komputera klienta.
$ ssh-add
Uruchom następujące polecenie SSH bez żadnej opcji nawiązania połączenia z komputerem serwerowym. Jeśli uwierzytelnianie oparte na hasłach jest włączone na komputerze serwerowym, użytkownik musi podać prawidłowe hasło do nawiązania połączenia z serwerem.
$ ssh fahmida@fahmida-virtualbox
Poniższe dane wyjściowe pokazuje, że tożsamość serwera została dodana do komputera klienta. Następnie hasło użytkownika serwera poprosiło o połączenie, ponieważ uwierzytelnianie oparte na hasłach zostało włączone na komputerze serwerowym. Nazwa użytkownika jest zmieniana na „Fahmida” z „Takmin” w wierszu polecenia, który wskazuje, że połączenie zostało poprawnie ustanowione po podaniu prawidłowego hasła.
Jeśli chcesz wymienić nazwę pliku klucza publicznego z lokalizacją do ustanowienia połączenia z serwerem, uruchom następujące polecenie SSH z opcją -i. Będzie wymagało przechowywania klucza publicznego w nazwie pliku zdefiniowanej przez użytkownika. Użyłem domyślnej nazwy pliku w momencie generowania klawisza, którym jest id_rsa.
$ ssh -i ~/.ssh/id_rsa fahmida@fahmida-virtualbox
Poprosi o hasło, tak jak wcześniej, aby nawiązać połączenie z serwerem. Dane wyjściowe pokazuje, że połączenie zostało poprawnie ustanowione, a nazwa użytkownika wiersza polecenia zmieniła się. Możesz zmienić plik konfiguracyjny serwera, aby wyłączyć uwierzytelnianie oparte na hasłach, jeśli nie chcesz podawać hasła, gdy chcesz połączyć się z serwerem.
Wniosek:
Zastosowania polecenia SSH-Copy-ID do połączenia ze zdalnym hostem zostały opisane w tym samouczku za pomocą dwóch kont użytkowników lokalnego hosta, aby pomóc czytelnikom w prawidłowym znaczeniu funkcji tego polecenia.