SSH устанавливает зашифрованный канал, сначала проверяет ключ сервера, затем аутентифицирует клиента. Безопасность зависит от проверки host key и защиты приватного ключа.

Важно: Сверяйте fingerprint по независимому каналу. Не принимайте изменившийся host key автоматически.

1. Создайте современный ключ

ssh-keygen -t ed25519 -a 64 -f ~/.ssh/id_ed25519

2. Передайте публичный ключ

ssh-copy-id -i ~/.ssh/id_ed25519.pub user@server

3. Проверьте fingerprint сервера

ssh-keyscan -t ed25519 server.example.com | ssh-keygen -lf -

4. Диагностируйте подключение

ssh -vvv user@server.example.com

5. Используйте безопасный config

Host production
    HostName server.example.com
    User deploy
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes

Официальная документация