SSH сетевой протокол. Используется для удаленного управления операционными системами и передачи файлов. Ключевая особенность заключается в том, что SSH шифрует трафик, делая подключения безопасными. По умолчанию, использует 22-й порт. Аббревиатура расшифровывается как Secure SHell.
Авторизация по протоколу происходит двумя способами:
- По логину и паролю
- По RSA ключу
Если вы еще пользуетесь SSH доступом по паролю, срочно меняйте привычку. Это опасно. Лучше использовать доступ по ключу.
1. Генерируем ключ
Если у нас Linux локально нужно сгенерировать SSH ключ:
ssh-keygen -t rsa -b 2048
Создает 2048 битный RSA ключ
Теперь публичный ключ хранится в /home/demo/.ssh/id_rsa.pub. Закрытый ключ хранится в /home/demo/.ssh/id_rsa.
Если используем Windows для подключения то генерируем SSH ключ с помощью генератора ключей PuTTY
После установки запускаем PuTTYgen, в меню Тип ключа для генерации выбираем SSH-2 RSA и проверяем значение поля Длина генерируемого ключа, оно должно быть равно 2048. Далее нажимаем Генерировать и свободно перемещаем курсор по экрану для выработки случайных данных.
В верхнем поле появится публичный ключ, который должен храниться на сервере.
2. Загружаем ключ
Публичный ключ нужно загрузить на сервер:
ssh root@123.123.123.123 mkdir -p .ssh
cat ~/.ssh/id_rsa.pub | ssh root@123.123.123.123 'cat >> .ssh/authorized_keys'
Папка «.ssh» может уже существовать
3. Готово
Теперь можем логиниться без пароля:
ssh root@123.123.123.123
Для того, чтобы подключиться к серверу с windows, используя PuTTy, нужно зайти в раздел Connection -> SSH -> Auth и выбрать ваш закрытый ключ, как показано на рисунке.