Як налаштувати ключі ssh для входу в мій RPi


15

Використовувати клавіші ssh для входу в RPI набагато зручніше, ніж щоразу вводити пароль.

Це особливо зручно, якщо ви хочете увійти в систему з автоматизованих сценаріїв або використовувати такі програми, як scp або rsync

Тож як я можу налаштувати ключі ssh для входу в свій RPi?


Дуже схоже запитання / відповідь тут .
Відхилення

Відповіді:


16

Linux

Якщо ви ніколи раніше не чули про ssh-ключі, вам потрібно буде генерувати подібний

$ ssh-keygen -t dsa

Це створює каталог ~/.ssh/і зберігає ключові файли

$ 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

Вам потрібно скопіювати id_dsa.pubв RPi. Існує дуже простий спосіб зробити це за допомогою помічника сценарію.

$ ssh-copy-id -i ~/.ssh/id_dsa.pub pi@raspberrypi.local

Вам потрібно буде ввести piпароль користувача останній раз

Наступного разу, коли ви ввійдете в систему, вам не буде запропоновано ввести пароль

$ ssh pi@raspberrypi.local
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

Як вимкнути вхід із паролем?

Після того, як ви налаштували вхід на основі ключів, більше не потрібно входити в систему, використовуючи пароль; ви можете відключити його, що набагато безпечніше.

  1. Спочатку увійдіть у свій Raspberry Pi та відкрийте /etc/ssh/sshd_configяк root; наприклад, бігати sudo vim /etc/ssh/sshd_config.

  2. Знайдіть рядок, що містить PasswordAuthentication; це, ймовірно, читає #PasswordAuthentication yes.

  3. Змініть цей рядок, щоб він читався

    Аутентифікація пароля немає

  4. Перезавантажте Raspberry Pi, або просто sshd.

Arch Linux

Щоб перезапустити sshdArch, запустіть sudo rc.d restart sshd.

Debian / Raspbian

Щоб перезапустити sshdдистрибутиви на базі Debian, запустіть sudo /etc/init.d/sshd restart.


Зауважте, що ssh без пароля слід використовувати лише там, де ви знаєте, що з'єднання вже захищено . Інакше ви ризикуєте зекономити 10 секунд.
Відхилення

@ Jivings Поясніть? Ключі завжди більш безпечні, ніж паролі.
Алекс Чемберлен

@gnibbler Ви б прийняли редагування щодо відключення входу пароля?
Алекс Чемберлен

@AlexChamberlain, звичайно
Джон Ла Руй

@AlexChamberlain У цій відповіді йдеться про те, як налаштувати ключі без пароля. Ось на що я мав на увазі
Jivings
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.