2015-07-30 3 views
0

Я создал ключи и поместил свой открытый ключ в свою учетную запись github. Затем в ~/.ssh я создал следующий конфигурационный файл:не может подключиться к github через ssh

Host github 
    HostName [email protected] 
    IdentityFile ~/.ssh/id_rsa2.pub 

Когда я SSH GitHub

ssh: Could not resolve hostname [email protected]: nodename nor servname provided, or not known 

И когда я ssh -T [email protected]

Permission denied (publickey). 

Что я делаю неправильно? Открытый ключ, который я установил в моей учетной записи github, говорит: «Никогда не использовался».

Спасибо заранее

ответ

1

Проблема заключается в том, вы пытаетесь использовать открытый ключ для аутентификации. Частный ключ, например, id_rsa2, а открытый ключ - id_rsa2.pub, по крайней мере, по умолчанию, когда сгенерирован с помощью ssh-keygen.

По умолчанию SSH использует id_rsa для идентификации, так что вы должны использовать:

ssh -i ~/.ssh/id_rsa2 -T [email protected] 

SSH-конфигурация должна выглядеть следующим образом:

Host github.com 
HostName github.com 
User git 
IdentityFile ~/.ssh/id_rsa2 

Значение Host важно, потому что это то, что вы должны использовать эту конфигурацию. Теперь вы можете использовать ssh github.com. Если вы не меняете линию Host, вам нужно использовать ssh github, но это может сломать другие инструменты.

В качестве альтернативы вы можете использовать ssh-agent. В этом случае вам не нужно создавать конфигурацию и просто добавлять ключ к вашему ssh-agent и ssh в github.

ssh-add ~/.ssh/id_rsa2 
ssh -T [email protected] 
Смежные вопросы