Jak skopiować klucze SSH

How Copy Ssh Keys



SSH jest ważnym narzędziem, jeśli chodzi o pracę do wykonania na innym serwerze. Możesz przenosić pliki, synchronizować foldery, migrować konta i pliki serwera, kopiować kopie zapasowe itp. Istnieje wiele zastosowań SSH, a znaczenie kluczy SSH polega na tym, że w krótkim czasie trzeba wykonać bardziej powtarzalny proces, na przykład kopiowanie niektórych plików lub folderów , wielu użytkowników, wiele folderów, wiele kont, kopie zapasowe cpanel itp. W takich przypadkach będzie to naprawdę nudne i czasochłonne, jeśli będziesz musiał podawać hasło ssh za każdym razem, gdy o to poprosi. Skonfigurowanie kluczy SSH może zapobiec konieczności ręcznego wprowadzania hasła dla każdego zadania.

Aby skonfigurować klucze SSH między dwoma serwerami, musimy wykonać następujące kroki:







Utwórz parę kluczy na serwerze źródłowym. Gdy wydamy polecenie ssh-keygen, domyślnie utworzy 2048-bitową parę kluczy RSA, a jeśli potrzebujesz silniejszego szyfrowania, możesz również użyć 4096-bitowego. W tym celu musisz użyć -b 4096 na końcu polecenia ssh-keygen. Używam tutaj domyślnego.



Kilka rzeczy, na które należy zwrócić uwagę w poniższym wyniku:



W linii Wprowadź plik, w którym chcesz zapisać klucz |_+_|





Pyta o ścieżkę do zapisania klucza, a domyślny jest zwykle w porządku. Jeśli domyślnie jest w porządku, możesz po prostu nacisnąć enter. Jeśli chcesz wypróbować alternatywną ścieżkę, musisz tam podać to samo. Czasami będzie to mówiło tak:

/źródło/.ssh/id_rsa już istnieje. Przepisać(oraz/n)?

Powinieneś wziąć kopię folderu .ssh przed wprowadzeniem jakichkolwiek zmian lub powinieneś wiedzieć, co robisz. Wysłanie Yes sprawi, że stary klucz (jeśli jest już używany) przestanie działać.



W wierszu Enter passphrase (puste dla braku hasła): Jest to dodatkowa procedura bezpieczeństwa, która będzie pytać o hasło za każdym razem, gdy spróbujesz zalogować się do SSH i będzie działać jako weryfikacja dwuetapowa. Ale jeśli potrzebujesz dostępu ssh do jakichkolwiek skryptów lub innych bezpośrednich prac i szybkich prac, lepiej tego nie mieć. Poza skryptowaniem lub automatyzacją prac, zasugerujemy, abyś miał to na pewno.

Pełny wynik polecenia w celach informacyjnych:

[e-mail chroniony] :~$ssh-keygen
Generowanie publiczności/para kluczy prywatnych rsa.
Wejśćplik w któryaby zapisać klucz(/źródło/.ssh/id_rsa):
Utworzony katalog'/root/.ssh'.
Wpisz hasło(pustydlabez hasła):
Wprowadź ponownie to samo hasło:
Twoja identyfikacja została zapisanaw /źródło/.ssh/id_rsa.
Twój klucz publiczny został zapisanyw /źródło/.ssh/id_rsa.pub.
Kluczowy odcisk palca to:
SHA256:z4nl0d9vJpo/5bdc4gYZh8nnTjHtXB4Se/UqyuyigUI sumesh@Sree

Kluczobraz randomart to:

+---[RSA 2048]----+
| |
| . . |
| . oo |
| .=o=o+|
| E S o. * OBo |
| . . * lub +. +. = |
| . . . .o=. =ooo|
| . .. + o*.B|
| ...o. o + oB + |
+----[SHA256]-----+
[email chroniony] ~$

Krok 2: Skopiuj utworzoną parę kluczy na serwer docelowy

Istnieją 2 różne sposoby na skopiowanie tego na serwer docelowy

  • Korzystanie z polecenia ssh-copy-id
  • Kopiowanie klucza ssh przy użyciu normalnego użytkownika/hasła ssh jako jednego liniowca z naszej lokalnej maszyny lub po zalogowaniu się na serwerze.

2.1 Korzystanie z polecenia ssh-copy-id

ssh-copy-id zajmie się kopiowaniem i konfiguracją klucza na zdalnym serwerze we właściwy dla Ciebie sposób. Po wykonaniu polecenia nie będziesz potrzebować hasła do każdego logowania. Teraz możesz pisać wszystkie swoje automatyczne skrypty do pracy administratora systemu bez konieczności ręcznego wprowadzania hasła i oszczędzać czas na codzienny dostęp do systemów, z których korzystasz przez cały czas.

Najpierw musisz sprawdzić, czy istnieje takie polecenie i czy polecenie działa, a użytkownik, którego próbujesz, ma dostęp do tego polecenia, możesz użyć tego polecenia, aby skopiować klucz publiczny na zdalny serwer. To narzędzie przeskanuje twoje konto lokalne w poszukiwaniu dowolnego klucza publicznego rsa i poprosi o hasło do konta zdalnego użytkownika.

Tutaj skopiujemy główny klucz ssh do dostępu z poziomu głównego serwera. Aby to skopiować, musisz zalogować się / przełączyć się na użytkownika, dla którego utworzyłeś klucz. W tym przypadku próbujemy połączenia root-root.

Pełne dane wyjściowe znajdują się poniżej, a pomiędzy nimi dodaję potrzebne szczegóły

źródło@Źródło]]:~$ root ssh-copy-id@192.1.1.19-P 1986
Autentyczność gospodarza„[192.1.1.19]: 1986 ([192.1.1.19]: 1986)”Mócnie być ustanowiony.
Odcisk cyfrowy klucza ECDSA to SHA256:YYOj54aEJvIle4D2osDiEhuS0NEDImPTiMhHGgDqQFk.
Czy na pewno chcesz kontynuować połączenie (tak/nie)? tak

Jeśli używasz tego po raz pierwszy, otrzymasz taką odpowiedź i musisz wpisać tak, a następnie nacisnąć enter

/usr/jestem/ssh-copy-id: INFO: próba zalogowaniawz nowym kluczem(s),
aby odfiltrować wszystkie, które są już zainstalowane

/usr/jestem/ssh-copy-id: INFO:1klucz(s)pozostają do zainstalowania- Jeślijesteś poproszony
teraz jest dozainstalowaćnowe klawisze

źródło@192.1.1.19hasło:

Wprowadź hasło, a następnie naciśnij enter.

Liczba kluczy(s)dodany:1

Teraz spróbuj zalogować się do komputera za pomocą: ssh -p ‘1986’ ‘ [email protected] ′
i sprawdź, czy działa zgodnie z oczekiwaniami.

Po tym będziesz mógł zalogować się do serwera bez żadnych haseł. Gdy uwierzytelnianie bez hasła działa poprawnie, możesz wyłączyć uwierzytelnianie hasła, aby zablokować dostęp do ssh tylko za pomocą kluczy ssh

2.2 Ręczne kopiowanie klucza ssh przy użyciu normalnego użytkownika/hasła ssh

Jeśli w jakiś sposób nie możesz uruchomić powyższego polecenia, dodam kroki, abyś mógł skopiować klucz ssh i ustawić hasło bez autoryzacji z komputera na serwer.

Aby to zrobić, musimy ręcznie dołączyć zawartość pliku id_rsa.pub do pliku /root/.ssh/authorized_keys na komputerze docelowym. Jeśli zamierzasz skopiować klucz do użytkownika root, lokalizacja będzie wyglądała następująco |_+_|

Od kroku 1: mogłeś zobaczyć poniższą linię

Twój klucz publiczny został zapisany w |_+_|

Oznacza to, że klucz publiczny, który musisz skopiować na zdalny serwer, znajduje się w powyższym pliku. Musisz więc skopiować zawartość tego pliku, a następnie skopiować lub wkleić je do autoryzowanych_kluczy zdalnego serwera

Więc wykonaj poniższe kroki

Poniższe polecenie da ci klucz do skopiowania:

[e-mail chroniony] $Kot /źródło/.ssh/id_rsa.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9Hg
H1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ
8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBICO6x+PnUS
GHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UV
KzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ik
rygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZ
X3Iq7YLGeksaO4rBJEa54k8m5weiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCS
q54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY0
95ywPsBo1XQ9PqhnN1/YOlubJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G
2fJLRcGUr9q8/lero9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ== korzeń@Źródło

Zaloguj się do serwera zdalnego, na który musisz skopiować powyższy klucz i upewnij się, że używasz tego samego użytkownika, do którego musisz skopiować klucz ssh. Jeśli potrzebujesz bezpośredniego dostępu do roota, skopiuj klucz bezpośrednio do /root/.ssh/ section

Utwórz folder .ssh, jeśli nie istnieje

Aby sprawdzić, czy istnieje, a jeśli nie, utwórz go za pomocą poniższych poleceń:

[e-mail chroniony] :$ls -ten /źródło/.ssh

Jeśli folderu nie ma , utwórz go za pomocą poniższego polecenia:

[e-mail chroniony] $mkdir -P /źródło/.ssh
[e-mail chroniony] $dotykać /źródło/.ssh/autoryzowane_klucze

[e-mail chroniony] :$wyrzuciłsz-rsa
AAAAB3NzaC1yc2EAAAADAQABAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44 + tXfJ7mIrKNxOOwxI
xvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3
EG112n6d + SMXY0OEBICO6x + PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B + ZV
IpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZI
SvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEieE1
nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly
57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOlubJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsd
BIbXWhcrRf4G2fJLRcGUr9q8/lero9oxRm5JFX6TCmj6kmiFqv +Ow9gI0x8GvaQ==korzeń@Źródło>>
/źródło/.ssh/autoryzowane_klucze

Upewnij się, że uprawnienia do folderu są prawidłowe

chmod -R wybrać się=/źródło/.ssh/

Następnie spróbuj zalogować się do serwera z nowego terminala i upewnij się, że uwierzytelnianie bez klucza działa zgodnie z oczekiwaniami. Dopiero wtedy wyłącz uwierzytelnianie hasłem w konfiguracji ssh.

UWAGA: Upewnij się dwukrotnie, że możesz zalogować się do serwera w razie potrzeby (albo bezpośrednio ze swojego komputera, albo możesz zalogować się do innego użytkownika na zdalnym serwerze i ręcznie przełączyć się na root z tego konta za pomocą su lub sudo ), a następnie tylko wyłącz autoryzację hasła, w przeciwnym razie istnieje szansa na zablokowanie użytkowników root.

Jeśli masz jakieś potrzeby zawsze możesz skontaktować się ze mną w celu uzyskania pomocy i podzielić się swoimi uwagami.