Ssh без пароля - студія відкритих рішень o-nix

Припустимо, ви хочете автоматизувати якісь завдання, використовуючи Unix / Linux, SSH і shell, або просто вам набридло вводити паролі на доступ до серверів. Розглянемо можливість автоматичного входу (login) з хоста A користувача a на хост B користувачем b по SSH без пароля.







Спочатку зайдіть на хост A як користувач a і згенеруйте пару ключів аутентифікації. Не вводьте в кінці пароль (passphrase):

> Ssh-keygen -t rsa
Generating public / private rsa key pair.
Enter file in which to save the key (/home/a/.ssh/id_rsa):
Created directory '/home/a/.ssh'.
Enter passphrase (empty for no passphrase):






Enter same passphrase again:
Your identification has been saved in /home/a/.ssh/id_rsa.
Your public key has been saved in /home/a/.ssh/id_rsa.pub.
The key fingerprint is:
3e: 4f: 05: 79: 3a: 9f: 96: 7c: 3b: ad: e9: 58: 37: bc: 37: e4 a @ A

Тепер використовуйте SSH, щоб створити каталог

/.ssh як користувач b на хості B (каталог може вже існувати):

> Ssh b @ B mkdir -p .ssh
b @ B's password:

Нарешті, додайте новий публічний ключ на b @ B: .ssh / authorized_keys і введіть пароль в останній раз:

> Cat .ssh / id_rsa.pub | ssh b @ B 'cat >> .ssh / authorized_keys'
b @ B's password:

Тепер ви можете входити на хост B як користувач b з хоста A без введення пароля:

> Ssh b @ B hostname
B

Залежно від версії SSH, вам, можливо, доведеться зробити додатково наступні зміни:

Додати публічний ключ як .ssh / authorized_keys2

Змінити права на каталог .ssh на 700

Змінити права на файл .ssh / authorized_keys2 на 640

Поділитися в соціальних мережах:







Схожі статті