Как настроить SSH в Linux для входа без пароля?

Как настроить SSH в Linux для входа без пароля?

Мой Raspberry Pi работает на образе Debian по умолчанию и имеет включенный SSH. Я вхожу в свой Pi следующим образом:

ssh pi@<IP-address-of-my-Pi>

Мне приходится вводить пароль каждый раз. Можно ли как-то заставить мой Pi принимать входы с моей локальной машины? Я использую Fedora Linux.

решение1

Да, вы можете автоматизировать аутентификацию на Raspberry Pi с помощью SSH.

В качестве предварительных условий требуется следующее:

Линукс

В Linux вы можете установить SSH через менеджер пакетов, сгенерировать пару ключей с помощью ssh-keygen, скопировать ключ на Pi с помощью ssh-copy-idи протестировать с помощью ssh.

Установить SSH на Linux

Большинство дистрибутивов Linux поставляются с предустановленным SSH-клиентом. Если по какой-то причине у вас его нет, установите его с помощью менеджера пакетов:

Для дистрибутивов Linux на основе RPM (например, Fedora и Suse):

sudo yum install ssh

Для дистрибутивов Linux на базе DEB (например, Debian и Ubuntu):

sudo apt-get install ssh

Сгенерировать пару ключей на Linux

Во-первых, вам понадобится пара ключей открытый/закрытый. Поэтому, если у вас ее нет, выполните следующую команду, чтобы сгенерировать пару ключей с настройками по умолчанию.

$ ssh-keygen
generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
24:55:ee:67:83:72:82:55:5f:b9:b4:09:2a:fa:56:a1 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|                 |
|         +    .  |
|        S    E   |
|         .  + +  |
|          .o . o.|
|         o.oo. oo|
|          ==o.BO+|
+-----------------+

Скопируйте открытый ключ на Pi на Linux

Во-вторых, вам нужно будет скопировать сгенерированный открытый ключ на машину, на которую вы хотите войти без пароля. Итак, запустите следующую команду на машине и как пользователь, который вы хотите иметь доступ к Pi:

$ ssh-copy-id pi@<IP-address-of-your-Pi>
Password:
Now try logging into the machine, with "ssh 'pi@<IP-address-of-your-Pi>'", and check in:
  .ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.

SSH-подключение к Pi на Linux

Наконец, войдите в систему с помощью SSH, чтобы убедиться, что пароль не запрашивается:

$ ssh pi@<IP-address-of-your-Pi>

решение2

Проверьте разрешения на файлы, которые вы пытаетесь скопировать, чтобы убедиться, что у пользователя, под которым вы входите по SSH, есть разрешение на их чтение.

Связанный контент