Что такое PuTTY и зачем использовать SSH-ключи

Для начала давайте разберемся с понятием PuTTY. Данный бесплатный клиент используется для удаленного подключения к другим машинам по сети. С помощь этой программы-клиента можно легко подключать по SSH, предоставлять доступ к командной строке удаленного сервера или использовать Rlogin, Telnet, и Serial. Клиент предоставляет возможность управлять сервером со своего компьютера.

Что же касается, SSH — это защищенный протокол для удаленного доступа. И подключение к нему можно осуществить с помощью SSH-ключей или используя пароль. Использование SSH-ключей более безопасно и их очень сложно взломать. Кроме того, есть возможность автоматизации подключения.

Генерация SSH-ключей для безопасного доступа

На локальной станции, с которой вы планируете подключение к удаленному серверу нужно начать с запуска командной строки и создания SSH-ключа. Вот пример команды для создания ключа:

ssh-keygen -t ed25519

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

Далее нужно перейти в сайт вашего хостинг провайдера и в настройках выбрать – Управление SSH-ключами и Добавить ключ.
После того как откроется окно в Публичном ключе нужно будет вставить сохраненный файл из буфера обмена. Также необходимо будет указать имя для сохранения и нажать на – Добавить ключ.

Настройка PuTTY для работы с приватным ключом

Если ключ находится в формате id_ed25519 его необходимо конвертировать для этого следуйте пошаговой инструкции:

  • Запустите PuTTYgen
  • Нажмите Load
  • Выберите файл приватного ключа
  • Далее нужно нажать на сохранить приватный ключ
  • И сохранить его в формате .ppk

Следующим шагом будет настройка PuTTY. Для настройки нужно не забыть внесения порта 22 и выбрать тип соединения SSH.

 

Это интересно: CyberPanel vs. cPanel: Как выбрать идеальную панель управления?

Пошаговое подключение к серверу через SSH с PuTTY

После покупки нужного хостинга вы можете подключать к нему через SSH. На начальном этапе подключение будет возможно из командной строки с учетной записью root. Для подключения к серверу нужно открыть командную строку и ввести следующую команду:

ssh root@X.X.X.X

Вместо X.X.X.X необходимо будет ввести IP вашего виртуального сервера. После чего, нужно будет перенести SSH-ключ от root к другому пользователю. Для этого процесса надо сначала создать нового пользователя следующим образом:

# adduser Jane

Созданный пользователь должен быть наделен полномочиями админа для этого учетную запись нужно добавить в группу sudo. В зависимости от используемой ОС команда для данного процесса может немного отличатся, к примеру для CentOS:

# usermod -aG wheel Jane

Передача и настройка публичного ключа на сервере

Для того чтобы переключится на аккаунт новой учетной записи нужно использовать:

# su – Jane

Следующим шагом будет создание в домашней директории юзера каталога .ssh:

$ cd ~

$ mkdir -p ~/.ssh

Далее нужно завершить сессию своего юзера и вернутся в сеанс root с помощью комбинаций клавиш Ctrl D. Находясь в суперюзере нужно переместить ключ из этого юзер в профиль учетной записи и файл должен находится в каталоге .ssh:

# mv ~/.ssh/authorized_keys /home/jane/.ssh/

Потом подключитесь с помощью учетной записи вашего пользователя для корректной настройки прав доступа к директории с ключом.

# su – Jane

После подключения нужно удалить все права для других юзеров и групп внутри директории .ssh:

$ sudo chmod -R go= ~/.ssh

Кроме того, нужно изменить юзера в директории:

$ sudo chown -R $USER:$USER ~/.ssh

Чтобы проверить корректность настроек, нужно отключиться от сервера. И чтобы подключиться нужно с помощью командной строки выполнить следующую команду:

ssh your-user@X.X.X.X (замените IP и имя пользователя).

 

 

Защита SSH-ключей и рекомендации по безопасности

Основные рекомендации по безопасности:

  • Лучше всего использовать современные алгоритмы, хороший вариант Ed25519.
  • Нужно использовать passphrase длинной приблизительно 15-20 символов и сохранять в password manager.
  • Должна присутствовать защита на стороне сервера.
  • Использование ssh-agent и регулярная ротация ключей.

 

Часто спрашивают: Первичный DNS: ключевая роль в работе домена и настройке сайта

Сравнение аутентификации: пароль vs SSH-ключ

Аутентификация по паролю функционирует следующим образом – юзер вводит пароль, хеш проверяется сервером, и если все совпадает осуществляется доступ. Среди основных трудностей, которые связаны с этим вариантом можно выделить большую вероятность фишинга, brute-force, повторное использование пароля, и тому подобные риски.

При аутентификации по SSH-ключу – у юзера есть закрытый ключ, на сервере находится публичный и клиент осуществляет вход с помощью приватного ключа. Таким образом, в данном подходе присутствует криптографическая стойкость, нет возможности передачи секрета, это отличный вариант для автоматизации, и невозможен фишинг.