Управление несколькими ключами ssh и настройка ssh-agent

LinuxSSHUNIX
Поделиться статьёй:

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

Управление несколькими ключами ssh

Сохрани свои приватные ключи в разных файлах и используй ~/.ssh/config для управления ими:

  • Host — короткий псевдоним для хоста
  • HostName — настоящий адрес хоста (url или адрес ip)
  • User — имя пользователя на машине, к которой будет происходить подключение
  • IdentityFile — файл, содержащий приватный ключ
  • AddKeysToAgent — значение «yes» добавит агенту ключ и пароль

После этого можно протестировать только что сконфигурированное соединение с сервером с помощью команды «ssh -T gh». Не забудь использовать короткий адрес хоста (Host) для ssh-соединения. Другой пример: «git clone git@gh:/.git», здесь «gh» используется вместо «github.com». В данном случае возможно лучше использовать «Host githib.com», чтобы не менять адрес при его копировании из репозитория Github.

Настройка ssh-agent

Чтобы каждый раз не вводить пароль при использовании ssh, настроим ssh-agent для хранения приватных ключей. Добавь эти строки в ~/.bashrc для запуска агента ssh при входе:

Функция выше почти идентична функции из документации Github, разницу составляет параметр «-t», который определяет максимальный срок жизни сущностей внутри ssh-agent, и отсутствует ssh-add, потому что приватные ключи настроены на добавление их агенту через файл конфигурации.

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

Ты так же можешь убивать текущий процесс ssh-agent при выходе, добавь следующие строки в ~/.bash_logout:

Запусти «ps -e | grep ssh-agent», чтобы убедиться ssh-agent запущен.
Используй «ssh-add -l» для вывода всех сущностей внутри ssh-agent.

Из соображений безопасности убедись, что файлы внутри директории ~/.ssh/* имеют разрешение на чтение и запись только для владельца «chmod 600 ~/.ssh/*» (твой публичный ключ может быть доступен только для чтения для всех остальных пользователей «chmod 644 ~/.ssh/id_rsa.pub»).

Источник: DEV Community


Поделиться статьёй:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *