Jak skonfigurować klucze ssh do logowania do mojego RPi

15

Używanie kluczy ssh do logowania do RPi jest o wiele wygodniejsze niż wpisywanie hasła za każdym razem.

Jest to szczególnie przydatne, jeśli chcesz zalogować się z automatycznych skryptów lub użyć programów takich jak scp lub rsync

Więc jak skonfigurować klucze ssh do logowania do mojego RPi?

John La Rooy
źródło
Bardzo podobne pytanie / odpowiedź tutaj .
Jivings

Odpowiedzi:

16

Linux

Jeśli nigdy wcześniej nie słyszałeś o kluczach ssh, musisz wygenerować taki jak ten

$ ssh-keygen -t dsa

Spowoduje to utworzenie katalogu ~/.ssh/i przechowanie plików kluczy

$ ls -l .ssh/
-rw------- 1 gnibbler gnibbler 668 Aug 22  2004 .ssh/id_dsa
-rw------- 1 gnibbler gnibbler 603 Aug 22  2004 .ssh/id_dsa.pub

Musisz skopiować id_dsa.pubdo RPi. Jest to bardzo łatwy sposób, aby to zrobić za pomocą skryptu pomocniczego.

$ ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]

Musisz wpisać pihasło użytkownika po raz ostatni

Przy następnym logowaniu nie pojawi się monit o podanie hasła

$ ssh [email protected]
Linux raspberrypi 3.1.9+ #174 PREEMPT Sun Jul 22 19:04:28 BST 2012 armv6l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.

Type 'startx' to launch a graphical session

Jak wyłączyć logowanie za pomocą hasła?

Po skonfigurowaniu logowań opartych na kluczach nie trzeba już logować się przy użyciu hasła; możesz to wyłączyć, co jest znacznie bezpieczniejsze.

  1. Najpierw zaloguj się do Raspberry Pi i otwórz /etc/ssh/sshd_configjako root; na przykład uruchom sudo vim /etc/ssh/sshd_config.

  2. Znajdź wiersz zawierający PasswordAuthentication; prawdopodobnie czyta #PasswordAuthentication yes.

  3. Zmień tę linię, aby brzmiała

    Hasło Numer uwierzytelnienia

  4. Uruchom ponownie Raspberry Pi lub po prostu sshd.

Arch Linux

Aby ponownie uruchomić sshdArch, uruchom sudo rc.d restart sshd.

Debian / Raspbian

Aby zrestartować sshddystrybucje oparte na Debianie, uruchom sudo /etc/init.d/sshd restart.

John La Rooy
źródło
Należy pamiętać, że ssh bez hasła powinien być używany tylko wtedy, gdy wiesz, że połączenie jest już bezpieczne . W przeciwnym razie narażasz się na ryzyko zaoszczędzenia 10 sekund.
Jivings
@ Jivings Wyjaśnij? Klucze są zawsze bezpieczniejsze niż hasła.
Alex Chamberlain
@gnibbler Czy zaakceptowałbyś zmianę dotyczącą sposobu wyłączania logowania do hasła?
Alex Chamberlain
@AlexChamberlain, oczywiście
John La Rooy
@AlexChamberlain Ta odpowiedź mówi, jak skonfigurować klucze bez hasła. Właśnie to miałem na myśli
Jivings