Несколько закрытых ключей 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