Rss

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

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

Сегодня мы расскажем, как настроить подключение к удаленной машине по SSH без пароля. Определим, что подключаться будем с компьютера A под пользователем usera к удаленному компьютеру B под пользователем userb.

Сначала нужно подключиться к компьютеру A под пользователем usera и сформировать пару ключей аутентификации.

usera@machine-a:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usera/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/usera/.ssh/id_rsa.
Your public key has been saved in /home/usera/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:J+R7BEW/KY7jxPkZ+vYLbiKFYVjEGb//Lm39esaZBaE usera@machine-a
The key's randomart image is:
+---[RSA 2048]----+
| ooo .o |
| +. . . . |
| o + .. . |
| . oo o Eo. |
| . oS + o . |
| ...X . .|
| .B *. . .+|
| .o.+=o .o+|
| .o====..=.|
+----[SHA256]-----+

Теперь удаленно создадим папку ~/.ssh как пользователь userb на машине B. (Если такая папка уже есть — не беда):

usera@machine-a:~$ ssh userb@machine-b mkdir -p .ssh 
userb@machine-b's password:

Теперь нужно добавить созданный публичный ключ в файл .ssh/authorized_keys на удаленной машине и ввести пароль пользователя userb в последний раз:

usera@machine-a:~$ cat .ssh/id_rsa.pub | ssh userb@machine-b 'cat >> .ssh/authorized_keys' 
userb@machine-b's password:

Теперь вы можете подключаться к машине B с машины A без пароля:

usera@machine-a:~$ ssh userb@machine-b

В зависимости от используемой версии SSH, может потребоваться внесение следующих изменений:

  • Поместите публичный ключ в файл .ssh/authorized_keys2
  • Измените права на папку .ssh на 700
  • Измените права на файл .ssh/authorized_keys2 на 640

Читайте также: 3 способа оставить команду работать после выхода из сеанса SSH

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.