Главная > Linux > Использование нескольких SSH ключей

Использование нескольких SSH ключей

Порой бывает необходимо иметь несколько различных ключей для авторизации на разных серверах. Вот и у меня возникла похожая ситуация.

Единственный ключ

1. Генерируем пару ключей

~$ ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "My RSA key"

2. Копируем публичную часть ключа на удаленный сервер

~$ ssh-copy-id user@remote

3. Настраиваем на удаленном сервере авторизацию по ключу

Обычно авторизация по ключу включена автоматически. Просто попробуйте зайти на удаленный хост через SSH и проверить это.

Если авторизация по публичному ключу отключена, то необходимо включить её. В файле /etc/ssh/sshd_config на сервере должны присутствовать следующие строки:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

На этом все. Теперь на сервер можно попасть через SSH без пароля, используя приватную часть авторизованного ключа.

Несколько ключей

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

1. Генерируем пары ключей в разные файлы

~$ ssh-keygen -t rsa -f ~/.ssh/id_rsa.work -C "My key for Work"
~$ ssh-keygen -t rsa -f ~/.ssh/id_rsa.home -C "My key for Home"

2. Копируем публичные части на удаленные сервера

~$ ssh-copy-id -i ~/.ssh/id_rsa.work.pub user@work
~$ ssh-copy-id -i ~/.ssh/id_rsa.home.pub user@home

3. Настраиваем удаленные сервера как показано выше

4. Настраиваем на нашем компьютере SSH авторизацию

Создадим файл конфигурации SSH клиента:

~$ touch ~/.ssh/config
~$ chmod 600 ~/.ssh/config

И добавим в него информацию о наших удаленных хостах:

Host my.work
    IdentityFile ~/.ssh/id_rsa.work

Host *.home
    IdentityFile ~/.ssh/id_rsa.home
    User root
    Port 44

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

Используемый материал

UPD: Благодаря товарищу kstep с ресурса welinux.ru открыл для себя скрипт ssh-copy-id, который производит копирование и установку публичного ключа на удаленный хост автоматически. Заметка соответствующим образом изменена.

VN:F [1.9.17_1161]
Rating: 6.5/10 (4 votes cast)
Использование нескольких SSH ключей, 6.5 out of 10 based on 4 ratings
Be Sociable, Share!
Categories: Linux Tags: , , ,
  1. Анатолий
    15 Июль 2011 в 14:09 | #1
    Использует Chromium 14.0.822.0 Chromium 14.0.822.0 на Ubuntu 10.04 Ubuntu 10.04

    можно добавить, что если есть один общий ключ и нужен еще один для определенного сервера, то можно в config описать только нужный ключ, а общий будет работать для всех остальных подключений

    VA:F [1.9.17_1161]
    Rating: 0.0/5 (0 votes cast)
  1. Пока что нет уведомлений.