Добрый день всем, кто оказался на данном сайте. Сегодня хотелось бы затронуть тему соединения по 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 по ключу, а не по паролю.
Материал взят с сайта «Cyber-X.ru»