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

Вот как я это делаю быстро и без лажи.

1. Проверяем, есть ли у тебя ключи

Не лезь сразу создавать новые ключи, сначала проверь, нет ли старых:

ls -l ~/.ssh/id_*.pub

Если вылетело "No such file or directory" — значит ключей нет, и можно создавать свои новые.

Если что-то есть — либо пользуйся старыми, либо сделай бэкап и создай новые, если старые уже подозрительные или устаревшие.

2. Генерируем новый ключ

Бери RSA с длиной 4096 бит — это самый ходовой и достаточно крепкий вариант:

ssh-keygen -t rsa -b 4096 -C "твой_емейл@пример.com" 

Когда спросит, куда сохранить — нажми Enter, чтобы оставить по умолчанию (~/.ssh/id_rsa). Потом решай, хочешь ли ставить пароль на ключ.

Если хочешь больше защиты — введи пароль, но каждый раз при подключении SSH будет спрашивать его. Если лень — просто Enter, и пароль не будет.

3. Копируем открытый ключ на сервер

Самый простой способ — ssh-copy-id:

ssh-copy-id username@ip_сервера

Введи пароль от пользователя сервера — и твой публичный ключ окажется в ~/.ssh/authorized_keys на сервере. После этого можно заходить без пароля.

Если ssh-copy-id нет, делай по-старинке:

cat ~/.ssh/id_rsa.pub | ssh username@ip_сервера "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys" 

4. Проверяем доступ

Теперь залезь на сервер:

ssh username@ip_сервера

Если пароль ты не ставил, то просто вваливаешься, как домой. Если ставил — вводишь пароль ключа.

5. Отключаем аутентификацию по паролю (по желанию, но очень рекомендуется)

Не отключай пароли, пока не убедишься, что заходишь по ключу — иначе сам себя заблокируешь.

Заходишь на сервер, открываешь конфиг SSH:

sudo nano /etc/ssh/sshd_config

И меняешь (или добавляешь) вот это:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no 

Сохраняешь и перезапускаешь ssh:

sudo systemctl restart ssh

Теперь сервер отказывается принимать входы с паролем — только по ключу.

Вот и всё

Теперь ты лох с паролями? Нет, ты тот чувак, который настраивает SSH правильно — быстро, просто и без всякой фигни. Забудь про вечное ввод пароля и не рой яму самому себе.