Jak skonfigurować niestandardowe połączenia SSH w celu uproszczenia dostępu zdalnego
- 3090
- 967
- Igor Madej
Ssh (Klient SSH) to program do zdalnego dostępu do komputera, umożliwia użytkownikowi wykonywanie poleceń na zdalnym hoście. Jest to jedna z najbardziej zalecanych metod logowania się do zdalnego hosta, ponieważ jest zaprojektowany w celu zapewnienia bezpiecznej zaszyfrowanej komunikacji między dwoma niezaufanymi hostami nad niepewną siecią.
Ssh wykorzystuje zarówno system konfiguracji w całym systemie, jak i specyficzny dla użytkownika (niestandardowy). W tym samouczku wyjaśnimy, jak utworzyć niestandardowy plik konfiguracyjny SSH i użyć niektórych opcji do podłączenia do zdalnych hostów.
Wymagania:
- Musisz zainstalować klienta OpenSSH na swoim komputerze Linux.
- Zrozum typowe opcje używane do zdalnych połączeń za pośrednictwem SSH.
Pliki konfiguracji klienta SSH
Poniżej znajdują się lokalizacje plików konfiguracyjnych klienta SSH:
/etc/ssh/ssh_config
- To jest domyślny plik konfiguracyjny całego systemu. Zawiera ustawienia, które mają zastosowanie do wszystkich użytkowników komputera klienckiego SSH.~/.ssh/config
Lub$ Home/.ssh/config
- to specyficzny dla użytkownika/niestandardowy plik konfiguracyjny. Ma konfiguracje, które mają zastosowanie do określonego użytkownika. Dlatego zastępuje ustawienia domyślne w pliku konfiguracji całego systemu. To jest plik, który będziemy tworzyć i użyć.
Domyślnie użytkownicy są uwierzytelnieni w SSH za pomocą haseł, jednak możesz skonfigurować logowanie SSH bez hasła za pomocą ssh keygen w 5 prostych krokach.
Notatka: W przypadku katalogu ~/.ssh
nie istnieje w systemie komputerowym, utwórz go za pomocą następujących uprawnień.
$ mkdir -p ~//.ssh $ chmod 0700 ~/.ssh
chmod Polecenie powyżej sugeruje, że tylko użytkownik może mieć uprawnienia do odczytu, zapisu i wykonywania w katalogu, zgodnie z wymogami ustawień SSH.
Jak utworzyć plik konfiguracyjny SSH specyficzny dla użytkownika
Ten plik zwykle nie jest tworzony domyślnie, więc musisz go utworzyć za pomocą uprawnień odczytu/zapisu tylko dla użytkownika.
$ touch ~/.ssh/config $ chmod 0700 ~/.ssh/config
Powyższy plik zawiera sekcje zdefiniowane przez specyfikacje hostów, a sekcja jest stosowana tylko do hostów, które pasują do jednego z wzorców ustawionych w specyfikacji.
Konwencjonalny format ~/.ssh/config
jest następujący, a wszystkie puste linie, a także linie zaczynające się od „#”
są uważane za komentarze:
Host hosta1 ssh_option1 = wartość1 ssh_option2 = wartość
Z powyższego formatu:
- Host host1 - jest definicją nagłówka dla host1, W tym momencie zaczyna się specyfikacja hosta i kończy się następną definicją nagłówka, Host Host2 tworzenie sekcji.
- host1, host2 są po prostu aliasami hosta do użycia w wierszu poleceń, nie są faktycznymi nazwami hostów zdalnych hostów.
- Opcje konfiguracji, takie jak ssh_option1 = wartość1, ssh_option2 = wartość1 wartość2 Zastosuj się do dopasowanego gospodarza i powinien być wcięty w celu dobrze zorganizowanego formatowania.
- Dla opcji, takiej jak ssh_option2 = wartość1 wartość2, wartość wartość 1 jest uważany za najpierw, więc wartość2.
- Definicja nagłówka Gospodarz * (Gdzie
*
to wzór - wielka karta, która pasuje do zera lub więcej znaków) będzie pasować do zera lub więcej hostów.
Wciąż biorąc pod uwagę powyższy format, w ten sposób SSH odczytuje plik konfiguracyjny. Jeśli wykonasz polecenie SSH, aby zdalnie uzyskać dostęp host1 Tak jak:
$ ssh host1
Powyższe polecenie SSH robi następujące rzeczy:
- Dopasuj pseudonim hosta host1 w pliku konfiguracyjnym i stosuje zestaw opcji w nagłówku definicji, Host host1.
- Następnie przechodzi do następnej sekcji hosta, Host Host2 i stwierdza, że nazwa podana w wierszu poleceń nie pasuje, więc nie używane są stąd żadne opcje.
- Przechodzi do ostatniej sekcji, Gospodarz *, który pasuje do wszystkich gospodarzy. Tutaj stosuje wszystkie opcje w tej sekcji do połączenia hosta. Ale nie może zastąpić żadnych wartości opcji, które są już używane w poprzednich sekcjach (y).
- To samo dotyczy host2.
Jak używać pliku konfiguracyjnego SSH specyficznego dla użytkownika
Po zrozumieniu, jak działa plik konfiguracji klienta SSH, możesz go utworzyć w następujący sposób. Pamiętaj, aby korzystać z opcji i wartości (aliasy hosta, numery portów, nazwy użytkowników itd.) Dotyczące środowiska serwera.
Otwórz plik konfiguracyjny z ulubionym edytorem:
$ vi ~/.ssh/config
I zdefiniuj niezbędne sekcje:
Gospodarz Fedora25 Nazwa hosta 192.168.56.15 Port 22 ForwardX11 Brak hosta Centos7 Nazwa hosta 192.168.56.10 Port 22 ForwardX11 Brak hosta Ubuntu Nazwa hosta 192.168.56.5 Port 2222 ForwardX11 tak host * Użytkownik TecMint IdentityFile ~/.SSH/ID_RSA Protocol 2 Kompresja Tak ServerAliveInterval 60 ServerAliveCountMax 20 Info logowania
Szczegółowe wyjaśnienie powyższych opcji konfiguracji SSH.
- Nazwa hosta - definiuje prawdziwą nazwę hosta do zalogowania się, alternatywnie, możesz użyć numerów IP, jest ona również dozwolona (zarówno w wierszu poleceń, jak i w Nazwa hosta specyfikacje).
- Użytkownik - Określa użytkownika, aby zalogować się jako.
- Port - Ustawia numer portu, aby połączyć się na zdalnym hoście, domyślnie jest 22. Użyj numeru portu skonfigurowanego w pliku konfiguracji hosta zdalnego hosta.
- Protokół - Ta opcja określa wersje protokołu SSH powinny obsługiwać w kolejności preferencji. Zwykłe wartości to „1” I „2”, Wiele wersji musi być oddzielone przecinkami.
- Plik tożsamości - Określa plik, z którego czytany jest DSA, ED25519, RSA lub ECDSA.
- Napastnik11 - Określa, czy połączenia X11 zostaną automatycznie przekierowane przez zestaw kanału i zestawu wyświetlania. Ma dwie możliwe wartości "Tak" Lub "NIE".
- Kompresja - Służy do ustawiania kompresji podczas zdalnego połączenia z "Tak" wartość. Domyślnie jest "NIE".
- ServerAliveInterval - ustawia przedział limitu limitu czasu w sekundach, po których jeśli serwer nie został odebrany żadna odpowiedź (lub dane), SSH wyśle wiadomość za pośrednictwem kanału zaszyfrowanego, aby żądać odpowiedzi z serwera. Wartość domyślna to 0, co oznacza, że żadne wiadomości nie zostaną wysłane na serwer, lub 300 Jeśli zdefiniowano opcję Batchmode.
- ServerAliveCountMax - Ustawia liczbę komunikatów żywych serwera, które mogą zostać wysłane bez otrzymania SSH jakąkolwiek odpowiedź z serwera.
- Loglevel - definiuje poziom gadatości używany podczas rejestrowania wiadomości z SSH. Dozwolone wartości obejmują: cichy, śmiertelny, błąd, informacje, w pełni debugowanie, debug1, debug2 i debug3. A domyślnie to informacje.
Standardowy sposób łączenia się z dowolnym zdalnym hostem Linux (Centos 7 - w moim przypadku), zdefiniowany w sekcji drugiej powyższego pliku konfiguracyjnego, normalnie wpisalibyśmy poniższe polecenie:
$ ssh -i ~/.ssh/id_rsa -p 22 [chroniony e -mail]
Jednak przy użyciu pliku konfiguracji klienta SSH możemy po prostu wpisać następujące polecenie:
$ SSH CENTOS7
Można znaleźć więcej opcji i przykładów użytkowania na stronie SSH Client Config Man:
$ man ssh_config
To wszystko na razie, w tym przewodniku, wyjaśniliśmy, jak używać pliku konfiguracji klienta specyficznego dla użytkownika (niestandardowe) w Linux. Użyj poniższego formularza opinii, aby odpisać do nas dotyczącą tego artykułu.
- « Xenserver 7 - Uaktualnienie puli za pośrednictwem interfejsu internetowego CLI i Xencenter
- BMON - potężne narzędzie do monitorowania przepustowości sieci i debugowania dla Linux »