Несколько закрытых ключей SSH для одного хоста

Как я могу хранить 2 разных закрытых ключа SSH для одного хоста? Я пробовал 2 записи в /etc/ssh/ssh_config для одного и того же хоста с разными ключами, и я также пытался поместить оба ключа в один и тот же файл и ссылаться на него из одного хоста, однако оба они не работают.

Более подробно: я работаю на сервере Ubuntu (12.04) и хочу подключиться к GitHub через SSH, чтобы загрузить последний источник моих проектов. На одном сервере выполняется несколько проектов, и у каждого проекта есть репозиторий GitHub со своей уникальной парой ключей развертывания. Так что хозяин всегда один и тот же (github.com), но ключи должны отличаться в зависимости от того, какой репо я использую.

Разные /etc/ssh/ssh_config версии, которые я пробовал:

Host github.com
    IdentityFile /etc/ssh/my_project_1_github_deploy_key
    StrictHostKeyChecking no
Host github.com
    IdentityFile /etc/ssh/my_project_2_github_deploy_key
    StrictHostKeyChecking no

и это с обоими ключами в одном файле:

Host github.com
    IdentityFile /etc/ssh/my_project_github_deploy_keys
    StrictHostKeyChecking no

Мне тоже не повезло. Любая помощь будет принята с благодарностью!

2 ответа

Решение

Я бы сделал это так:

Host project_1
    HostName github.com
    IdentityFile /etc/ssh/my_project_1_github_deploy_key

Host project_2
    HostName github.com
    IdentityFile /etc/ssh/my_project_2_github_deploy_key

а затем используйте project_1 или project_2 в качестве хоста для доступа к хранилищу.

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

Host github.com
    IdentityFile /etc/ssh/my_project_1_github_deploy_key
    IdentityFile /etc/ssh/my_project_2_github_deploy_key
    StrictHostKeyChecking no
Другие вопросы по тегам