Вот (несколько отредактированный) список моего ~/.ssh/config
под OS X 10.6.8 Snow Leopard:
Host *
IdentitiesOnly yes
Host foo1
IdentitiesOnly yes
User foo1
HostName example.com
IdentityFile ~/.ssh/foo1_rsa
Host foo2
IdentitiesOnly yes
User foo2
HostName example.com
IdentityFile ~/.ssh/foo2_rsa
# (and so on)
Host bar1
IdentitiesOnly yes
User bar1
HostName example.org
IdentityFile ~/.ssh/bar1_rsa
Host bar2
IdentitiesOnly yes
User bar2
HostName example.org
IdentityFile ~/.ssh/bar2_rsa
# (and so on some more)
Host github
IdentitiesOnly yes
User git
HostName github.com
IdentityFile ~/.ssh/github_rsa
Host heroku
IdentitiesOnly yes
User git
HostName heroku.com
IdentityFile ~/.ssh/heroku_rsa
Давайте запустим команду, чтобы увидеть, работает ли это:
$ ssh github
PTY allocation request failed on channel 0
Hi sampablokuper! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
ОК, первая команда работает. Давайте попробуем вторую команду:
$ ssh git@github.com
Permission denied (publickey).
О-о, вторая команда не сработала.
У меня вопрос: что я могу сделать, чтобы вторая команда, приведенная выше, давала тот же результат, что и первая команда?
NB. Добавление опции -v
предполагает, что вторая команда завершается ошибкой, потому что вместо того, чтобы предлагать серверу Github открытый ключ, указанный для git@github.com в ~/.ssh/config
(то есть ~/.ssh/github_rsa
), она предлагает ~/.ssh/id_rsa
.