Инструкции
In this article:
Инструкции#
Добавление публичного SSH-ключа в Linux#
Чтобы добавить публичный ключ в дистрибутиве Linux, можно воспользоваться следующей инструкцией:
Определить, в каком файле хранятся публичные ключи в системе. Для этого надо выполнить следующую команду:
$ cat /etc/ssh/sshd_config | grep -i authorizedkeysfile AuthorizedKeysFile .ssh/authorized_keys
В домашней директории необходимо создать директорию и в ней файл, если их нет (из вывода команды пункта 1 — это директория
.ssh
, в которой лежит файл authorized_keys).Важно
Директория .ssh и файл authorized_keys должны принадлежать пользователю, под которым будет производиться вход в систему (в случае если директория будет создана от суперпользователя, то её владельцем будет root). Чтобы изменить владельца директории, нужно воспользоваться командой
sudo chown -R ec2-user:ec2-user /home/<имя пользователя>/.ssh/
Через текстовый редактор (vim, nano, etc.) добавить содержимое публичного ключа в файл
authorized_keys
. Если там уже находится другой публичный ключ, то его не обязательно удалять — можно дописать новый в файл. В таком случае можно заходить в систему при помощи SSH с двумя разными приватными ключами . Ниже приведён пример публичного ключа:Важно
В публичном ключе не используются пробелы и переносы на новые строки, он идет сплошным текстом.
После того, как добавили новый публичный ключ, необходимо перезапустить sshd:
Для систем, использующих SysVinit (CentOS 6):
sudo /etc/init.d/sshd restart
Для систем, использующих Systemd (CentOS 7):
sudo systemctl restart sshd
Добавление публичного SSH-ключа в Putty#
Putty использует свой формат для ключей (.ppk). Чтобы использовать сторонний приватный ключ в putty, его необходимо предварительно конвертировать в puttygen:
В программе PuTTY Key Generator перейти в Conversions Import key.
В появившемся окне выбрать приватный ключ (обычно он в формате OpenSSH и имеет имя .private).
После выбора окно заполнится данными из ключа.
В данном окне можно добавить свой комментарий в строке Key comment, также необходимо добавить пароль к приватному ключу в строках Key passphrase и Confirm passphrase.
Нажмите Save Private Key, чтобы сохранить приватный ключ в формате, воспринимаемом программой PuTTY.
В случае если один и тот же публичный ключ используется на нескольких серверах, не обязательно хранить на каждом сервере приватный ключ, чтобы можно было подключиться к другому серверу. Для этой цели можно использовать Pagent (PuTTY authentication agent). Для добавления ключа в Pagent воспользуйтесь следующей инструкцией:
Запустить pagent.exe. После запуска в системном трее появится иконка программы.
Для управления ключами нужно два раза левой кнопкой мыши нажать по иконке программы Pagent в системном трее.
В данном окне нажать Add Key и в появившемся окне выбрать приватный ключ формата .ppk. Если у ключа есть пароль, то при добавлении ключа его необходимо ввести в диалоговом окне.
Дополнительная возможность: для более удобного добавления приватного ключа в Pagent можно воспользоваться следующей особенностью:
Создайте ярлык для программы Pagent.
Нажмите правой кнопкой по ярлыку и выберите Properties.
В поле Target через пробел добавьте полный путь до приватного ключа в формате .ppk.
В последующем, при открытие этого ярлыка приватный ключ будет автоматически добавляться в Pagent.
Для использования Pagent в PuTTY необходимо воспользоваться следующей инструкцией:
Запустить программу putty.exe.
Перейти в Connection SSH Auth.
В данной вкладке поставить галочку Allow agent forwarding.
Перейти во вкладку Session, выбрать Default Settings, нажать Save.
Теперь при создании нового подключения у него в настройках будет указано использование Pagent для пересылки ключей. Можно не использовать Pagent, если в пункте 3 вместо Allow agent forwarding, нажать Browse и выбрать приватный ключ, который будет использоваться для соединения по SSH к виртуальной машине.