Ключи ssh

Использование нескольких ssh-ключей для аутентификации на разных хостах

Очень классно когда не приходиться делать лишних телодвижения для например входа на какой-нибудь сервер, и многие без задней мысли используют аутентификацию по ssh-ключу. И так, если у нас есть пара ключей и куча серверов, то вроде всё хорошо, раскидываем открытые ключи по серверам и не паримся… но. А что, если от какого то сервера у нас уже есть пара ключей? Можно продолжать использовать именно её для аутентификации именно на этом сервере.

Для этого размещаем закрытый ключ в директории ~/.ssh/. Называем его как то по другому, например id_rsa_github_com. Теперь нужно сообщить ssh о том что для хоста github.com нужно использовать именно этот ключ. Редактируем файл ~.ssh/config (если его нет, то создаём), дописываем туда

Host github.com
    IdentityFile ~/.ssh/id_rsa_github_com

Теперь для всех серверов будет использоваться дефолтный ключ (обычно он называется ~/.ssh/id_rsa), а именно для github.com - ~/.ssh/id_rsa_github_com.

Можно для каждого серевера создать свою пару ключей (просто переопределив имя ключа в диалоге создания) и прописать конфигурацию для каждого сервера.

Можно использовать другой ключ без прописывания в конфиг. Для этого нужно воспользоваться параметрами командной строки -i:

$ ssh -i ~/.ssh/id_rsa_github_com github.com

Ну конечно же github нас так никуда не пустит, так как не разрешает интерактивный режим. Но для своих собственных серверов это вполне можно использовать.