ssh - вхід за ключами

На клієнтській машині, звідки збираємось коннектитися до SSH сервера:

ssh-keygen -t rsa -b 2048

На всі запитання відповідаємо Enter, тим самим створюючи пару ключів, без passfrase (паролю, який буде потрібно при активації ключа). Якщо вам до ключа ще необхідний пароль, його також можна вказати в момент його запиту.

У результаті директорії .ssh з'являються 2 файла:

id_rsa - приватний ключ, тримати в секреті! а краще на зашифрованому томі

id_rsa.pub - публічний ключ, необхідно буде покласти на сервер

На всю директорію .ssh ставимо права лише читання користувачеві. Тобто.

chmod 700 ./.ssh

chmod 600 ./.ssh/id_rsa Публічний ключ - на сервер

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

cat ./user.pub >> /home/user/.ssh/authorized_keys

chown -R user /home/user/.ssh

chmod 700 /home/user/.ssh/

chmod 600 /home/user/.ssh/authorized_keys

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

Якщо наш користувач буде зовсім без пароля, то для цього потрібно у файлі /etc/shadow замінити хеш користувача пароля на символ *. Приклад (cat /etc/shadow) :

user:*:13783:0:99999:7.

PasswordAuthentication no

PermitEmptyPasswords no Перевірка