1. Скачиваем с putty.org утилитку
puttygen запускаем её и генерим ключ:

1.png (Filesize: 30.29 КБ, Dimensions: 497x483) Затем сохраняем приватный ключ, в любом месте, которое считаете максимально защищенным, особенно если это касается публичных серверов в интернете.
2. Копируем публичный ключ, полностью как он есть (ПКМ - выделить всё, ПКМ - копировать).

2.png (Filesize: 28.05 КБ, Dimensions: 493x478) Заходим по SSH на нужный сервер под нужным пользователем. Если нужный пользователь закрыт (например если это root) то авторизуемся под доступным, а в нужного переходим командой:
sudo su - user
и добавляем скопированный ключ в конец файла:
echo "ключ_из_буфера_обмена" >> .ssh/authorized_keys
Но, т.к. там куча спецсимволов, лучше добавить это в любом текстовом редакторе, например:
nano .ssh/authorized_keys
и на новой строке добавить содержимое ключа.
3. Подготовим настройки putty, прописываем пользователя (под которым нужно входить на сервер) и адрес сервера (например
root@myhost), задаем нужное имя сессии, и сохраняем текущие настройки:

3.png (Filesize: 23.92 КБ, Dimensions: 468x453) 4. Переходим в putty в категорию:
Connection -> SSH -> AuthИ указываем путь до файла с приватным ключем:

4.png (Filesize: 23.96 КБ, Dimensions: 475x455) 5. Возвращаемся в категорию
Session и сохраняем текущие настройки.

5.png (Filesize: 26.34 КБ, Dimensions: 469x458) Кликаем дважды по сохраненной сессии... Профит?!