Авторизация ssh по ключу

Добрый день всем, кто оказался на данном сайте. Сегодня хотелось бы затронуть тему соединения по ssh. И об более защищенном варианте соединения, нежели ввод пароля при подключении. Если вы подключаетесь к ssh и вводите пароль, то такое соединения считать безопасным нельзя. Так как банально, злоумышленники могут сбрутить пароль. Я упоминал про этот способ в одной статье, и как обеспечить базовую защиту от него. А вот если подключение идет по специальному ключу, и у вас в настройках стоит запрет на вход по паролю, то такой способ более надежный. Давайте разберемся, как можно сделать такое соединение. Сначала создадим на нашем компьютере те самые ключи с помощью команды:

Создаем ключ ssh

 ssh-keygen 

При создании ключа, у нас будут спрашивать про директорию хранения данного ключа. А так же про создания соединения при помощи ключа и ввода пароля. Советую не чего не менять, особенно директорию хранения ключа. Везде просто нажимаем “Enter”. Хотя вы можете создать соединение при котором нужен будет ключ и ввод пароля. Такое соединение можно по праву назвать самым надежным. Но в некоторых ситуациях он может быть неудобен. По этому просто нажмите “Enter” и пусть все останется по умолчанию.

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

 nano ~/.ssh/id_rsa

Что бы просмотреть публичный ключ, введите:

nano ~/.ssh/id_rsa.pub

Загружаем ключ ssh на сервер

Теперь нужно скопировать созданный нами ключ на сервер. Для этого подключаемся к ssh с помощью следующей команды:

ssh-copy-id cyber-x@192.168.0.109

Команда “ssh-copy-id” скопирует ключ на ваш сервер, в папку .ssh. Далее все как обычно, имя под которым вы входите по ssh и ip вашего сервера.

Теперь пробуем войти по ssh без ввода пароля. А если вдруг по какой то причине ключ ssh сам не смог скопироваться, нам нужно сделать это вручную. Для этого наберите команду:

cat ~/.ssh/id_rsa.pub | ssh cyber-x@192.168.109 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

Не забудьте поменять в команде cyber-x@192.168.0.109 на свои данные.

После удачного соединения по созданному нами ключу, можно приступать к отключению опции ” PasswordAuthentication”. Эта опция позволяет войти на наш сервер с помощью пароля. А что бы ее отключить, нужно подправить конфиг:

sudo nano /etc/ssh/sshd_config

В конфигурационном файле найдите строку:

 PasswordAuthentication yes 

И замените слово “yes” на “no”. Возможно, эта опция будет закомментирована, вам нужно убрать решетку “#” раскомментировав ее. После чего сохраните конфиг и перезагрузите сервис ssh командой:

 sudo service ssh restart 

На этом сегодня все. Надеюсь на то, что данная статья кому то поможет настроить более безопасное соединение по ssh по ключу, а не по паролю.

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

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