1

Я создал ключи для git, следуя инструкциям на http://help.github.com/linux-set-up-git/

Это хорошо работает, но когда я пытаюсь подключиться к другому хосту по ssh, он пытается использовать тот же открытый ключ. Кроме того, SSH к серверам без открытого ключа, но проверка подлинности пароля не удается с

$ssh user@host
Permission denied (publickey,password).

Как я могу решить эту проблему, чтобы использовать ключи по умолчанию для github, но не для других хостов?

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

2 ответа2

1

Переименуйте ваш ключ GitHub, чтобы он не использовал файлы ключей по умолчанию, которые ищет ssh (что-то вроде ~/.ssh/id_rsa_github). Затем добавьте следующее в ~/.ssh/config чтобы сообщить ssh что этот ключ следует использовать только для соединений с GitHub.

Host *.github.com
    IdentityFile ~/.ssh/id_rsa_github

Все остальные соединения не будут пытаться аутентифицировать ключ, потому что нет ключей по умолчанию. Однако, как правило, в этом случае нет никакого вреда - если ключ отклонен, ssh попытается подтвердить пароль, если он доступен.

0

используйте ваш .ssh/config и выражение IdentityFile :

Определяет файл, из которого читается идентификация аутентификации пользователя RSA или DSA. По умолчанию используется ~/.ssh/identity для версии протокола 1 и ~/.ssh/id_rsa и ~/.ssh/id_dsa для версии протокола 2. Кроме того, любые идентификационные данные, представленные агентом аутентификации, будут использоваться для аутентификации.

затем обратитесь к .ssh/id_rsa_github (или к какому-либо имени вашего «только для github« пара ключей »)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .