HI, сегодня я продолжу тему админства и расскажу как сгенерировать свой ssh ключ для подключения к vds серверу.

Что такое ssh ключ

SSH ключ позволяет более безопасно подключаться к вашему веб серверу и передавать все ваши данные в шифрованном виде. В отличие от обычной авторизации по паролю, SSH-ключи практически невозможно подобрать с помощью перебора паролей (brunforse).

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

Создание ssh ключа на windows

Для Windows есть простой и быстрый способ получить ssh ключи. Для этого я как правило использую PuTTY. В комплекте с этой программой устанавливается и нужный нам  генератор ключа. Скачать его можно с официального сайта putty (он будет в комплекте) либо по ссылке.

Открыв данную программу вы увидите простой и понятный интерфейс. Теперь чтобы сгенерировать ssh ключи нужно выбрать тип генерации RSA (первый в списке внизу) и нажать кнопку Generate. После чего PuTTY попросит вас поводить по пустой области экрана курсором чтобы  псевдослучайно сгенерировать строки ключа.

puttygen1

После этого вам станут доступны 2 кнопки: Save public key и Save priate key. Они дают возможность сохранить файлы с ключами на компьютер.
Сохраните их, они понадобятся в дальнейшем для авторизации на сервере. В основном поле программы показан сгерерированый нами публичный ключ, его вы можете вставить в такое же текстовое поле у вашего хостинг провайдера если он предоставляет возможность подключаться по ssh. В дальнейшем для подключения к вашему серверу понадобиться только файл с приватным ключем.
puttygen2

Создание ssh ключа на Linux/MacOS

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

ssh-keygen -t rsa

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

После указания пути для файлов вы увидите примерно следующий ответ от программы:

Your identification has been saved in /home/-имяпользователя-/.ssh/id_rsa.
Your public key has been saved in /home/-имяпользователя-/.ssh/id_rsa.pub.

Вот так быстро и просто можно сгенерировать ssh ключ на Unix системах.

Как подключиться к серверу используя ssh

Если же ваш хостинг провайдер позволяет вставить публичный ssh ключ (это тот что id_rsa.pub) в веб интерфейсе, то вам не придется делать лишних телодвижений. После добавления ключа таким способом вы сможете подключаться к серверу просто указав при подключении приватный ключ (это то что id_rsa).

Если же нет то вы должны проделать следующие шаги:

  1. Подключиться к вашему серверу по FTP под своим пользователем, как правило это root.
  2. Зайти в директорию вашего пользователя и создать там папку под названием .ssh (если таковой не будет).
  3. Скачать в эту папку ваш публичный ключ который вы уже сгенерировали ранее.
  4. Переименовать данный файл на authorized_keys

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

Пример такой команды в UNIX системах:

ssh user@mysite.ru

Так же я настоятельно советую вам отключить возможность авторизоваться на вашем сервере от имени root пользователя используя пароль. Отключив эту возможность единственный оставшийся способ подключения к нему будет только по SSH.

Перейдите в директорию основных настроек ssh:

sudo nano /etc/ssh/sshd_config

В этом файле найдите следующую строку PremitRootLogin и измените для нее значение на PremitRootLogin without-password 

После сохранения файла перезагрузите ssh следующей командой:
service ssh reload

Способы подключения через GUI

Вот примеры того как можно подключаться к серверу используя ssh:

Используя популярный и кроссплатформенный ftp клиент Filezilla.

filezilla_connect

Используя программу ZOC Terminal 

zoc-terminal

Через ещё один популярный кроссплатформенный клиент PuTTY

putty_connect

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

До скорого и удачи!

dmkweb.ru Права на контент защищены.