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

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

Рубрики:

Security

Метки:

, ,

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

Содержание:

  1. Использование ключей SSH
  2. Создание пары RSA-ключей
  3. Установка ключевой фразы
  4. Копирование ключа
  5. Отключение доступа по паролю для пользователя root
  6. Бонус для пользователей Windows
  7. Выводы

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

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

Начнем с теории. Ключи SSH представляют собой учетные данные, обеспечивающие доступ по протоколу Secure Shell (SSH). Этот протокол предоставляет зашифрованную безопасную связь между системами, которые находятся в открытой сети. Чаще всего протокол SSH используют для дистанционного доступа к ОС, передачи данных и управления сетью.

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

Для генерирования ключей SSH используются криптографические алгоритмы с открытым ключом (чаще всего — RSA и DSA). Интересно, что помощью закрытого ключа можно получить открытый, но не наоборот.

Важно: Вы можете повысить безопасность закрытого ключа, использовав ключевую фразу.

Создание пары RSA-ключей

Итак, приступим. Сперва создаем пару ключей на клиентской машине. Желательно, чтобы это был Ваш компьютер. Для генерации ключей вводим команду:

 

В более новых системах можно использовать следующую команду:

 

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

Установка ключевой фразы

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

 

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

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

В нашем примере открытый ключ хранится по адресу /home/demo/.ssh/id_rsa.pub. Закрытый ключ хранится по адресу /home/demo/.ssh/id_rsa.

Копирование ключа

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

 

Важно: не забудьте изменить имя пользователя и пароль на Ваши.

Пример вывода:

 

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

 

Если у Вас новый дистрибутив Linux, и ключи RSA не принимает система, то можно включить поддержку, добавив следующие опции в файл конфигурации /etc/ssh/sshd_config

 

После этого необходимо перезапустить службу OpenSSH:

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

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

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

 

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

 

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

Бонус для пользователей Windows

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

PuTTy

Выводы

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

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

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

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

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

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Security

Метки:

, ,

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

4 комментария. Оставить новый

  • Есть какой-то вариант подключения по ключу не через putty, а например через windows terminal или через обычный cmd ?

    Ответить
  • Не нагуглил ответ на свой вопрос… Позвольте задать его здесь.
    Подскажите как настроить Windows Terminal чтобы при подключении например к убунте по ssh key запрашивался прежде ввод логина? сейчас авторизуется сразу без запроса. Например в putty запрос логина есть. В Windows Termina – нет. Может кто знает как настроить такое поведение?

    Ответить
  • Имя пользователя указываете через собаку: [email protected], если через собаку не указывать, то подставляется имя того пользователя под который вы вошли в систему. Отпишите пожалуйста получилось или нет.

    Ответить
  • Константин, дело в том что как раз хотелось бы не указывать в профиле подключения логин явно. Это, как я думаю, и есть некая защита “”от дурака”. Человек который не знает логина, не сможет воспользоваться, моим компом и не сможет зайти на сервер, даже если настроена авторизация по ключам. Т.е. хотелось бы получить такое же поведение как в putty. Нажимаешь на профиль подключение, затем тебе выдается запрос на ввод логина.

    Ответить

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

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

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

Поиск по сайту
Лучшее
Популярное
Рубрики
Меню