Вход по ssh без пароля для Linux. ПАМЯТКА.

Когда настраиваешь сервер установленный на виртуальной машине (для теста) или на реальном железе приходится много раз перезагружаться и вводить вручную пароли. Если пароль отличается от такого как — 12345, это бывает утомительно. Имеет смысл настроить без парольный вход на сервер по SSH.

В простейшем случае это настраивается следующим образом:

1. Исходные данные.

В качестве хост машины выступает Linux Mint 19, на который установлен VirtualBox 5.2.18. Гостевая машина — сервер на Debian 9.

Для простоты в виртуальной машине, в настройках сети, установлен Тип подключения «Сетевой мост».

Запускаем нашу виртуальную машину. Входим под root и смотрим наш ip адрес:

# ip a

Адрес нашей машины 192.168.1.40

Задача — необходимо войти с хостовой машины A (Linux Mint 19) на гостевую машину B (Debian 9) без ввода пароля используя SSH.

Приступим к настройки входа по ssh без использования пароля.

2. Сгенерируем пару ключей на хостовой машине A (Linux Mint 19).

Вводим команду в терминале:

$ ssh-keygen -t rsa

Вывод команды:

  • Generating public/private rsa key pair.#Создание пары открытых и закрытых ключей RSA.
  • Enter file in which to save the key (/home/user/.ssh/id_rsa):#Введите файл для сохранения ключа. (оставляем по умолчанию).
  • Enter passphrase (empty for no passphrase):#Введите парольную фразу (жмем Enter на запрос «фраза-пароль»).
  • Enter same passphrase again:#Введите ту же парольную фразу еще раз. (жмем Enter).
  • Your identification has been saved in  home/user/.ssh/id_rsa. — #Ваши ключи были сохранены в /home/user/.ssh/id_rsa.
  • Your public key has been saved in /home/user/.ssh/id_rsa.pub. — #Ваш открытый ключ был сохранен в /home/user/.ssh/id_rsa.pub.
  • The key fingerprint is:

    8c:2a:ed:82:98:6d:12:0a:3a:ba:b2:1c:c0:25:be:5b — #Ключевой отпечаток.

3. Нам потребуется пользователь с доступом к целевой машине по ssh (username на гостевой машине B), чтобы создать в домашней директории пользователя на машине B папку «.ssh». Можно сделать это удаленно используя команду:

$ ssh serg@192.168.1.40 mkdir -p .ssh

где «serg» — пользователь на гостевой машине B, а «192.168.1.40» — это IP адрес гостевой машины B.

Отвечаем yes на вопрос о продолжении подключения.

4. Зальем новый «ПУБЛИЧНЫЙ» ключ в файл .ssh/authorized_keys на гостевую машину B (Debian 9).

$ cat ~/.ssh/id_rsa.pub | ssh serg@192.168.1.40 ‘cat >> ~/.ssh/authorized_keys’

5. Пробуем подключиться. 

$ ssh serg@192.168.1.40

Вот и все. 

Базовый курс криптографии в данной статье не освещен, но для обеспечения безопасности при использованием несиметричной криптографии (когда есть пара публичный ключ и приватный ключ) следует держать в секрете приватный ключ.

В нашем случае оба ключа находятся в директории /home/user/.ssh/ (id_rsa — приватный, id_rsa.pubпубличный, а user — текущий пользователь на хостовой машине A.

В дальнейшем, для подключения к любым другим удаленным машинам, следует повторить 3-5 этапы.


ИСТОЧНИК. 

Вход по ssh без пароля для Linux.