SSH - Авторизация по ключу | Просто блог

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

Задача: Настроить быстрое подключение к серверу Synology по протоколу SSH.

Шаг 1 — Открываем консоль Mac OS и набираем команду, которая начнет процесс генерации пары ключей RSA. При генерации можно указать имена файлов, а так же секретную фразу для дополнительной защиты приватного ключа.

ssh-keygen -t rsa

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

cd ~/.ssh/

По умолчанию создается пара файлов id_rsa и id_rsa.pub. Я в данном руководстве исхожу из задачи подключения к локальному серверу 192.168.1.1, которому в конфигурационном файле (описано ниже), присвоил короткое имя ds415. Следовательно пару ключей назвал to.ds415.private и to.ds415.pub

Переименовываем файлы ключей
Рис 1. Переименовываем файлы ключей

Шаг 3 — Настраиваем конфиг. Это делать не обязательно, но крайне рекомендую, так как сильно упрощает команды на подключение из терминала или sh-скриптов. В папке пользователя создаем файл с названием config без каких-либо расширений и вносим туда секцию для подключения к нашему серверу. Секций может быть неограниченное кол-во:

Настройка файла config
Рис.2 Настройка файла config

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

Шаг 4 — Ставим правильные права на папку и файл с приватным ключом:

# Ставим права на папку в домашней директории пользователя
chmod 700 ~/.ssh/

# Ставим права на файл с приватным ключом
chmod 600 ~/.ssh/to.ds415.private

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

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

Заходим на сервер по ssh, используя логин-пароль (при условии что ssh включен и допускает соединения по логину-паролю). В общем я исхожу из того, что мы попали тем или иным способом в консоль.

# Переходим в папку пользователя
cd ~/.ssh/

# Если сервер вернул ошибку — No such file or directory
# то создаем директорию сразу с нужными правами
mkdir -pvm 700 ~/.ssh

# Ставим права на файл
chmod 644 ~/.ssh/authorized_keys

# Если файла authorized_keys нет, создаем его любым способом
# Открываем его и вставляем текст публичного ключа
# Если ключ предполагается один, то можно просто скопировать
# файл публичного ключа и переименовать в authorized_keys.

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

P.S. Настройка сервера Synology кратко и на примере пользователя remote_user_name:

ssh-keygen -l -f ~/remote_user_name/.ssh/authorized_keys
chmod 755 ~/remote_user_name
chown remote_user_name:users ~/remote_user_name/.ssh
chmod 700 ~/remote_user_name/.ssh
chown admin:users ~/remote_user_name/.ssh/authorized_keys
chmod 644 ~/remote_user_name/.ssh/authorized_keys

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: