Почему ssh игнорирует мой ~/.ssh/config? Невозможно зафиксировать в github

Я настроил OpenSSH для использования определенного ключа при входе в github....

[mpenning@mudslide .ssh]$ pwd
/home/mpenning/.ssh
[mpenning@mudslide .ssh]$ ls -la | grep config
-rw-r--r--  1 mpenning mpenning  473 Jan 23 09:49 config
[mpenning@mudslide .ssh]$ head -n 4 config
Host gh
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_github
[mpenning@mudslide .ssh]$

Однако, когда я выполняю ssh для github без явного вызова секретного ключа github в CLI, аутентификация завершается неудачно:

[mpenning@mudslide .ssh]$ ssh -F ./config git@github.com
Permission denied (publickey).    ^^^^^^^^ This used to work
[mpenning@mudslide .ssh]$

Единственный способ заставить его работать, это явно вызвать закрытый ключ, когда я ssh...

[mpenning@mudslide .ssh]$ ls -la | grep github
-r--------  1 mpenning mpenning 3243 Nov 24  2016 id_rsa_github
-rw-r--r--  1 mpenning mpenning  743 Nov 24  2016 id_rsa_github.pub
[mpenning@mudslide .ssh]$ ssh -i ./id_rsa_github git@github.com
PTY allocation request failed on channel 0
Hi mpenning! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.
[mpenning@mudslide .ssh]$

мой config файл сработал вчера... я ничего не изменил в нем. config Файл уже указывает на правильный закрытый ключ.

Внезапно, ssh, похоже, игнорирует мой конфиг github. Он даже никогда не пробует правильный закрытый ключ...

[mpenning@mudslide .ssh]$ ssh -v git@github.com 2>&1 | grep github
debug1: Connecting to github.com [192.30.253.113] port 22.
debug1: Host 'github.com' is known and matches the RSA host key.
[mpenning@mudslide .ssh]$

Очевидно, это работает, но я не должен использовать -i...

[mpenning@mudslide .ssh]$ ssh -i id_rsa_github -v git@github.com 2>&1 | grep github
debug1: Connecting to github.com [192.30.253.113] port 22.
debug1: identity file id_rsa_github type 1
debug1: identity file id_rsa_github-cert type -1
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Offering RSA public key: id_rsa_github
Authenticated to github.com ([192.30.253.113]:22).
Connection to github.com closed.
[mpenning@mudslide .ssh]$

Мои вопросы:

  • Что сломало это?
  • Как я могу это исправить?

2 ответа

Решение

Вы не звоните, чтобы подключиться к хосту, который вы определили в вашей конфигурации.

использование ssh gh не ssh .... git@github.com

Но почему? - Увидеть ниже:

[mpenning @ mudslide.ssh] $ ssh -F./config git@github.com Отказано в доступе (publickey). ^^^^^^^^ Это раньше работало

Я не думаю, что это когда-либо было (вы проверяли, используя историю?). Я думаю, что вы использовали ssh -F ./config gh

Вы определили хост как gh в вашей конфигурации:

Host gh
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_rsa_github

Так что вы должны просто звонить ssh gh, Вы можете передать другие аргументы, если хотите переопределить то, что находится в вашей конфигурации, например, если вы хотите использовать другого пользователя, однако, поскольку вы установили все необходимые переменные, вы должны просто использовать переменную Host и ничего более.

Вам даже не нужно сдавать -F ./config Если честно.

убедитесь, что ваш ~/.ssh/config принадлежит вашему пользователю и группе «сотрудников» (не root/root)

Другие вопросы по тегам