Szukaj…


Wprowadzenie

Bezpieczna powłoka służy do zdalnego dostępu do serwera z klienta za pośrednictwem szyfrowanego połączenia. OpenSSH jest używany jako alternatywa dla połączeń Telnet, które uzyskują zdalny dostęp do powłoki, ale są niezaszyfrowane. Klient OpenSSH jest domyślnie instalowany w większości dystrybucji GNU / Linux i służy do łączenia się z serwerem. Te przykłady pokazują, jak używać pakietu SSH do akceptowania połączeń SSH i łączenia się z innym hostem.

Łączenie ze zdalnym serwerem

Aby połączyć się z serwerem, musimy użyć SSH na kliencie w następujący sposób,

# ssh -p port user@server-address
  • port - nasłuchujący port ssh serwera (domyślny port 22).
  • użytkownik - musi być istniejącym użytkownikiem na serwerze z uprawnieniami SSH.
  • adres serwera - adres IP / domena serwera.

Dla prawdziwego świata przykład pozwala udawać, że tworzysz stronę internetową. Firma, którą wybrałeś do hostowania swojej witryny, informuje cię, że serwer znajduje się na web-servers.com na niestandardowym porcie w 2020 roku, a nazwa twojego konta usr1 została wybrana do utworzenia użytkownika na serwerze z uprawnieniami SSH. W takim przypadku użyte byłoby polecenie SSH

# ssh -p 2020 [email protected]

Jeśli nazwa konta w systemie zdalnym jest taka sama jak nazwa klienta lokalnego, możesz pominąć nazwę użytkownika. Więc jeśli jesteś usr1 w obu systemach, to po prostu używasz web-servers.com zamiast [email protected] .

Jeśli serwer, z którym chcesz się połączyć, nie jest dla ciebie bezpośrednio dostępny, możesz spróbować użyć przełącznika ProxyJump, aby połączyć się z nim przez inny serwer, który jest dostępny dla ciebie i może połączyć się z wybranym serwerem.

# ssh -J [email protected]:2020 [email protected] -p 2222

Umożliwi to połączenie się z serwerem 10.0.0.2 (uruchamianie ssh na porcie 2222) przez serwer w wersji 10.0.0.1 (uruchamianie ssh na porcie 2020). Oczywiście musisz mieć konta na obu serwerach. Zauważ też, że przełącznik -J został wprowadzony w wersji 7.3 OpenSSH.

Instalowanie pakietu OpenSSH

Zarówno połączenie z usuniętym serwerem SSH, jak i zaakceptowanie połączeń SSH wymaga instalacji openssh

Debian:

# apt-get install openssh

Arch Linux:

# pacman -S openssh

Mniam:

# yum install openssh

Wygeneruj klucz publiczny i prywatny

Aby wygenerować klucze dla klienta SSH:

ssh-keygen [-t rsa | rsa1 | dsa ] [-C <comment>] [-b bits]

Na przykład:

ssh-keygen -t rsa -b 4096 - C [email protected]

Domyślna lokalizacja to ~/.ssh/id_rsa dla prywatnego i ~/.ssh/id_rsa.pub dla klucza publicznego.

Aby uzyskać więcej informacji, odwiedź man.openbsd.org

Konfigurowanie serwera SSH do akceptowania połączeń

Najpierw musimy edytować plik konfiguracyjny demona SSH. Chociaż w różnych dystrybucjach Linuksa może to znajdować się w różnych katalogach, zwykle jest przechowywane w /etc/ssh/sshd_config

Użyj edytora tekstu, aby zmienić wartości ustawione w tym pliku, wszystkie wiersze zaczynające się od # są komentowane i należy usunąć ten znak, aby zadziałał. Poniżej znajduje się lista zaleceń.

Port (chose a number between 0 - 65535, normaly greater than four digits)
PasswordAuthentication yes
AllowUsers    user1 user2 ...etc

Należy pamiętać, że zaleca się wyłączenie logowania wszystkich haseł i użycie kluczy SSH w celu zwiększenia bezpieczeństwa, jak wyjaśniono w tym dokumencie.

Wyłącz usługę ssh

Spowoduje to wyłączenie usługi po stronie serwera SSH, ponieważ w razie potrzeby zapewni to, że klienci nie będą mogli połączyć się przez ssh

Ubuntu

sudo service ssh stop

Debian

sudo /etc/init.d/ssh stop

Arch Linux

sudo killall sshd

Połączenie bez hasła (za pomocą pary kluczy)

Przede wszystkim musisz mieć parę kluczy. Jeśli jeszcze go nie masz, zapoznaj się z tematem „Generowanie klucza publicznego i prywatnego”.

Twoja para kluczy składa się z klucza prywatnego (id_rsa) i klucza publicznego (id_rsa.pub). Wystarczy skopiować klucz publiczny do zdalnego hosta i dodać jego zawartość do pliku ~/.ssh/authorized_keys .

Jednym prostym sposobem na to jest:

ssh <user>@<ssh-server> 'cat >> ~/.ssh/authorized_keys' < id_rsa.pub

Po prawidłowym umieszczeniu klucza publicznego w katalogu domowym użytkownika wystarczy zalogować się przy użyciu odpowiedniego klucza prywatnego:

ssh <user>@<ssh-server> -i id_rsa



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow