Работа подключения по SSH с использованием сертификата пользователя

1.1. Создаем подключение пользователя по SSH

Сертификат состоит из двух частей

открытый ключ — это одна строка которая распространяется на устройства

закрытый ключ — файл, который храниться на компьютере пользователя, за его распространение отвечает пользователь.

Передача закрытого ключа запрещена.

1.1.1.   Создание сертификата программой PuTTYgen

1.1.2.   Запускаем PuTTYgen

1.1.3.    Выбираем тип ключа генерации

1.1.4.    Вводим длину генерируемого ключа 4096 бит

1.1.5.    Нажимаем кнопку начать генерацию

1.1.6.    Вводим произвольные буквы и двигаем манипулятором мышь до заполнения шкалы

1.1.7.    Получаем созданный сертификат

1.1.8.    Сохраняем открытый ключ сертификата

Копируем данные ключа в буфер обмена

Создаем текстовый файл и вставляем в него стоку

1.1.9.    Сохраняем закрытый ключ

1.2.   Создание нового подключения в PuTTY

1.2.1.    Получение данных пользователя

Для настройки подключения по SSH с помощью ключа у администратора учреждения необходимо получить следящие данные:

  • Имя пользователя
  • IP адрес или доменное имя оборудования
  • Порт подключения

1.2.2.    Ввод данных подключения

1.2.3.    Добавляем ключ для авторизации

1.2.4.    Сохраняем новое подключение

1.3.   Создание нового подключения WinSCP

1.3.1.    Получение данных пользователя

Для настройки подключения по SSH с помощью ключа у администратора учреждения необходимо получить следящие данные:

  • Имя пользователя
  • IP адрес или доменное имя оборудования
  • Порт подключения

1.3.2.    Заходим в управление подключениями

1.3.3.    Создаем новое подключение и заходим в его настройки

1.3.4.    Добавляем файл закрытого ключа

1.3.5.    Сохраняем новое подключение

1.4.   Подключение по умолчанию

При работе по SSH только через сертификаты лучше настроить подключение по умолчанию согласно пунктам выше.

1.5.  Отправка сертификата для подключения

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

Передача закрытого ключа кому-либо кроме самого сотрудника запрещена.

2.1. Добавление нового сертификата на сервере

2.1.1. Выдача данных подключения пользователю

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

  • Имя пользователя
  • IP адрес или доменное имя оборудования
  • Порт подключения

2.1.2. Получение открытого ключа сертификата у пользователя

После выдачи данных пользователю от него необходимо получить открытый ключ с типом ключа генерации SSH-2 RSA и длинной 4096 бит.

Важно. Открытый ключ для вставки в authorized_keys обязательно должен быть в формате OpenSSH (начинаться с ssh-rsa AAAA…).

2.1.3. Добавление открытого ключа в файл авторизации пользователя

Файлы авторизации пользователя по сертификатам лежат в отдельных папках:

  • /home/ПОЛЬЗОВАТЕЛЬ/.ssh/authorized_keys – Для подключения по SSH
  • /home/ПОЛЬЗОВАТЕЛЬ/.sftp/authorized_keys – Для подключения по SFTP

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

2.1.4. Правила добавления

При добавлении данных ключа в файл:

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

2.1.5. Варианты добавления ключа

  •  Папки:
  • .ssh
  • .sftp

являются закрытыми и системными, в связи с чем стандартными средствами они не будут видны в системе.

Доступ к данным файлам можно получить, используя менеджер по работе с файлами MC

Так же возможно использовать командную строку со встроенными текстовыми редакторами:

  • nano /home/ПОЛЬЗОВАТЕЛЬ/.ssh/authorized_keys
  • vi /home/ПОЛЬЗОВАТЕЛЬ/.ssh/authorized_keys

либо другим удобным для администратора пользователем.

Редактирование файлов доступно от имени, пользователя которому предоставляется доступ, либо от имени ROOT.

3.1.  Настройка сервера для работы SSH по сертификатам

3.1.1. Создаем файлы авторизации SSH для пользователя сервера

Вводим следующие команды для создания директории .ssh и файла ключа authorized_keys:

  • mkdir ~/.ssh
  • chmod 0700 ~/.ssh
  • touch ~/.ssh/authorized_keys
  • chmod 0644 ~/.ssh/authorized_keys

3.1.2. Создаем файлы авторизации SFTP для пользователя сервера

Вводим следующие команды для создания директории .ssh и файла ключа authorized_keys:

  • mkdir ~/.sftp
  • chmod 0700 ~/.sftp
  • touch ~/.sftp/authorized_keys
  • chmod 0644 ~/.sftp/authorized_keys

3.1.3. Отключаем доступ по логину и паролю

В файле конфигурации сервера SSH /etc/ssh/sshd_config изменяем следующие значения:

  • Строку #PermitRootLogin prohibit-password меняем на PermitRootLogin no
  • Строку #PasswordAuthentication yes меняем на PasswordAuthentication no

После редактирования файла конфигурации службы SSH, перезагружаем службу:

  • Вводим команду sudo service sshd restart
  • Для выполнения данных действий необходим доступ от имени root.