Ssh logowanie bez hasła

Z wiki linux-user
Skocz do: nawigacji, wyszukiwania
m
 
Linia 4: Linia 4:
 
W dziszejszych czasach mamy do zapamiętania wiele bardzo trudnych i ciężkich do zapamiętania haseł. Dlaczego nie mamy sobie ułatwić chociaż troche życia i ustawić w naszym serwerze logowanie do ssh bez potrzeby podawania hasła, przy zachowaniu pełnego bezpieczeństwa :-) Możemy to załatwić za pomocą certyfikatów, które w dość prosty sposób możemy sobie wygenerować i używać przy logowaniu do naszego konta ssh. A więc zaczynamy.
 
W dziszejszych czasach mamy do zapamiętania wiele bardzo trudnych i ciężkich do zapamiętania haseł. Dlaczego nie mamy sobie ułatwić chociaż troche życia i ustawić w naszym serwerze logowanie do ssh bez potrzeby podawania hasła, przy zachowaniu pełnego bezpieczeństwa :-) Możemy to załatwić za pomocą certyfikatów, które w dość prosty sposób możemy sobie wygenerować i używać przy logowaniu do naszego konta ssh. A więc zaczynamy.
  
Na początku wygenerujemy sobie certyfikaty. Logujemy się na konto [[root]] serwera i wydajemy polecenie
+
Na początku wygenerujemy sobie certyfikaty. Logujemy się na konto [[root]] maszyny lokalnej i wydajemy polecenie
  
  $ ssh-keygen -t dsa
+
  $ ssh-keygen -t rsa
  Generating public/private dsa key pair.
+
  Generating public/private rsa key pair.
  Enter file in which to save the key
+
  Enter file in which to save the key (/root/.ssh/id_rsa):  
(/home/root/.ssh/id_dsa):  
+
 
  Enter passphrase (empty for no passphrase):  
 
  Enter passphrase (empty for no passphrase):  
 
  Enter same passphrase again:  
 
  Enter same passphrase again:  
  Your identification has been saved in
+
  Your identification has been saved in /root/.ssh/id_rsa.
/home/root/.ssh/id_dsa.
+
  Your public key has been saved in /root/.ssh/id_rsa.pub.
  Your public key has been saved in
+
/home/root/.ssh/id_dsa.pub.
+
 
  The key fingerprint is:
 
  The key fingerprint is:
  2c:b0:1d:24:b6:62:12:c8:4f:f1:1a:a2:22:a4:f8:77 root@localhost
+
  3f:39:a6:61:12:13:76:1c:c2:ca:5b:2e:c2:87:5a:3a root@mail.linux-user.eu
  
Po wygenerowaniu plików z certyfikatami powinniśmy nadać odpowiede prawa dostępu do plików
+
Przy pytaniu o hasło nie podajemy żadnego. Po zakończeniu generowania certyfikatów powinny się pokazać dwa nowe pliki
 +
*'''id_rsa''' klucz prywatny
 +
*'''id_rsa.pub''' klucz publiczny
  
$ chmod 700 $HOME/.ssh
+
Następnie należy przenieść wygenerowany plik ''id_rsa.pub'', na serwer do którego mamy zamiar przeprowadzać zdalne logowanie bez użycia hasła, do katalogu ''$USER/.ssh/''. Kolejnym krokiem już na serwerze jest zmiana nazwy pliku ''id_rsa.pub'' na  ''authorized_keys'' lub wydajemy następujące polecenie
  $ chmod 730 $HOME/.ssh/*
+
cat id_rsa.pub >> authorized_keys
 +
Dla bezpieczeństwa usuwamy plik ''id_rsa.pub'' z serwera
 +
rm -rf id_rsa.pub
 +
oraz nadajemy odpowiednie prawa do pliku authorized_keys
 +
  chmod 600 authorized_keys
 +
Od tej chwili powinniśmy mieć możliwość logowania się przy użyciu certyfikatów RSA.<br />
 +
Możemy również zabronić logowania się po ssh z użyciem haseł. W tym celu edytujemy plik ''/etc/ssh/sshd_config'' i ustawiamy opcję
 +
PasswordAuthentication no
  
Następnie należy przenieść plik ''id_dsa.pub'' z katalogu ''/home/$USER/.ssh/'' , na komputer z którego mamy zamiar zdalnie logować się na serwer. A następnie zawartość pliku ''id_dsa.pub'' wklejamy do pliku  ''/home/$USER/.ssh/authorized_keys2''.
+
=== Logowanie przez Puytty ===
 
+
Program [http://www.putty.org/ putty] zna chyba każdy więc w woli szybkiego wyjaśnienia, jest to program, który umożliwia zdalne łączenie się np przez ssh do innego hosta, program najczęściej używany jest na stacjach z systemem windows oczywiście możliwe jest również używanie go na komputerach z zainstalowanym systemem Linux.<br />
Na końcu również na maszynie lokalnej powiniśmy ustawić odpowiednie prawa dostępu do plików z certyfikatami
+
Aby była możliwość logowania się za pomocą wyżej wymienionej metody tzn za pomocą kluczy ''rsa'' przez program putty musimy pobrać programik o nazwie '''puttygen.exe''', który to umożliwia przekonwertowanie prywatnego pliku '''id_rsa''' do postaci '''*.ppk''' musimy to zrobić gdyż putty czyta jedynie klucze z końcówką ''*.ppk''.<br />
 
+
Po ściągnięciu programu ''puttygen.exe'' uruchamiamy go i klikamy na przycisk ''Load'', z pola ''Pliki typu'' wybieramy ''All Files(*.*)'', następnie zaznaczamy plik ''id_rsa'' i klikamy ''otwórz'', po tej operacji powinniśmy zobaczyć okienko z informacją o prawidłowym imporcie pliku ''id_rsa''. Teraz zostaje nam już tylko zapisać zaimportowany klucz za pomocą opcji ''Save private key'' w rozszerzeniu '''*.ppk'''.<br />
chmod go-w $HOME $HOME/.ssh
+
Aby załadować klucz ppk wchodzimy do programu ''putty'' po lewej stronie okienka wybieramy opcję ''SSH'' a następnie ''Auth'' i za pomocą przycisku ''Browse'' wybieramy wcześniej stworzony klucz ''*.ppk'', po tej czynności zostaje nam przejście do opcji ''Session'' i zalogowanie się do odpowiedniej maszyny.
chmod 600 $HOME/.ssh/authorized_keys2
+
  
 
<br /><google1 style="4"></google1>
 
<br /><google1 style="4"></google1>

Aktualna wersja na dzień 12:50, 13 wrz 2012

Osobiste
Przestrzenie nazw

Warianty
Działania
Nawigacja
Narzędzia


Sponsor serwisu

Firma informatyczna ITProjek Bydgoszcz usługi informacztyczne, serwery, linux, windows, strony www, hosting, sieci komputerowe, system archiwizacji danych