Ssh logowanie bez hasła

Z wiki linux-user
Skocz do: nawigacji, wyszukiwania
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ść plik ''id_dsa.pub'' z katalogu ''$USER/.ssh/'', na serwer do którego mamy zamiar przeprowadzać zdalne logowanie bez użycia hasła. Kolejnym krokiem już na serwerze jest przekopiowanie pliku ''id_dsa.pub'' do pliku  ''$USER/.ssh/authorized_keys''.
$ chmod 730 $HOME/.ssh/*
+
Teraz dla bezpieczeństwa usuwamy plik id_dsa.pub z serwera
 
+
  rm -rf id_dsa.pub
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''.
+
oraz nadajemy odpowiednie prawa do pliku authorized_keys
 
+
  chmod 600 authorized_keys
Na końcu również na maszynie lokalnej powiniśmy ustawić odpowiednie prawa dostępu do plików z certyfikatami
+
Od tej chwili powinniśmy mieć możliwość logowania się przy użyciu certyfikatów RSA.
 
+
  chmod go-w $HOME $HOME/.ssh
+
  chmod 600 $HOME/.ssh/authorized_keys2
+
  
 
<br /><google1 style="4"></google1>
 
<br /><google1 style="4"></google1>

Wersja z 10:42, 21 maj 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