Подключение с использованием ключей SSH

Подключение с использованием ключей SSH

Security

С использованием ключей SSH связано множество интересных особенностей. Ниже мы расскажем о том, как правильно их применять и настраивать.

Как разобраться в использовании ключей SSH

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

Создание пары ключей даёт вам две длинные строки символов: открытого и закрытого ключа. Вы можете разместить открытый ключ на сервере, а потом подключиться к нему и залогиниться в систему с помощью закрытого ключа. Таким образом, закрытый ключ подходит к открытому ключу, и вам не нужно вводить пароль для доступа к системе. Также вы можете повысить безопасность закрытого ключа, добавив использование ключевой фразы.

Шаг 1 — создание пары RSA ключей

Cоздаем пару ключей на клиентской машине. Желательно, чтобы это был ваш компьютер:

ssh-keygen -t rsa

 

Шаг 2 — размещение ключей и ключевая фраза

Когда вы введете команду для генерации пары ключей, система задаст вам несколько вопросов. Здесь необходимо ввести имя файла куда сохранить ключи:

Enter file in which to save the key (/home/demo/.ssh/id_rsa):

 

Подумайте, хотите ли вы использовать ключевую фразу. Её использование даёт преимущество — безопасность ключа независимо от метода шифрования, потому что ключевую фразу знаете только вы.

Enter passphrase (empty for no passphrase):

 

Также, ключевая фраза защитит ваш закрытый ключ, если он попадёт не авторизированному пользователю. Он не сможет получить доступ к системе, пока не введёт правильную ключевую фразу, как результат — для взлома системы понадобится намного больше времени.

Недостаток использования ключевой фразы — это её ввод каждый раз при входе в систему.

Процесс генерации ключа выглядит так:

ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/demo/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/demo/.ssh/id_rsa.
Your public key has been saved in /home/demo/.ssh/id_rsa.pub.
The key fingerprint is:
4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
|          .oo.   |
|         .  o.E  |
|        + .  o   |
|     . = = .     |
|      = S = .    |
|     o + = +     |
|      . o + o .  |
|           . o   |
|                 |
+-----------------+

 

Теперь публичный ключ хранится в /home/demo/.ssh/id_rsa.pub. Закрытый ключ хранится в /home/demo/.ssh/id_rsa.

home_demo_ssh_id_rsapub

Шаг три — копирование ключа

Когда ключи сгенерированы, время разместить публичный ключ на сервере, где мы хотим его использовать. Вы можете скопировать публичный ключ на новый компьютер, используя команду ssh-copy-id. Измените имя пользователя и пароль на ваш:

ssh-copy-id [email protected]2.34.56.78

 

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

cat ~/.ssh/id_rsa.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >>  ~/.ssh/authorized_keys"

 

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

The authenticity of host '12.34.56.78 (12.34.56.78)' can't be established.
RSA key fingerprint is b1:2d:33:67:ce:35:4d:5f:f3:a8:cd:c0:c4:48:86:12.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '12.34.56.78' (RSA) to the list of known hosts.
[email protected]'s password:
Now try logging into the machine, with "ssh '[email protected]'", and check in:

~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

 

Таким образом, теперь вы можете залогиниться  используя команду ssh [email protected] и у вас система не будет запрашивать пароль, однако если вы установили ключевую фразу, то нужно будет ее ввести (также ее необходимо будет вводить каждый раз при входе в систему).

ssh-user@

 

Шаг 4 — Отключение доступа по паролю для пользователя root

Когда вы уже скопировали ваши ключи на сервер и убедились, что вы можете залогиниться в систему используя ключи, то вы можете пойти дальше и отключить доступ по паролю для пользователя root.

Для того чтобы сделать это, откройте файл конфигурации SSH сервера:

sudo nano /etc/ssh/sshd_config

 

Найдите в этом файле строчку PermitRootLogin и справьте к следующему виду, чтобы пользователь root мог логиниться по ключу:

PermitRootLogin without-password

 

Сохраните изменения и перезапустите службу SSH для того чтобы изменения вступили в силу:

reload ssh

Для того, чтобы подключаться к серверу с windows машин, используя PuTTy, нужно зайти в раздел Connection -> SSH -> Auth и выбрать ваш закрытый ключ, как показано на рисунке.

PuTTy

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
Security

Больше похожих постов

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню