Por que o ssh está ignorando meu ~ / .ssh / config? Não é possível confirmar para o github

1

Eu configurei o OpenSSH para usar uma chave específica quando eu fizer login no 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]$

No entanto, quando eu ssh para o github sem chamar explicitamente a chave privada do github na CLI, a autenticação falha:

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

A única maneira que eu posso forçá-lo a funcionar é chamar explicitamente a chave privada quando eu 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 [email protected]
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]$

Meu arquivo config funcionou ontem ... Eu não mudei nada nele. O arquivo config já aponta para a chave privada correta.

Suddely, ssh aparentemente ignora a configuração do meu github. Nunca tenta a chave privada certa ...

[mpenning@mudslide .ssh]$ ssh -v [email protected] 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]$

Obviamente isso funciona, mas eu não deveria ter que usar -i ...

[mpenning@mudslide .ssh]$ ssh -i id_rsa_github -v [email protected] 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]$

Minhas perguntas:

  • O que quebrou isso?
  • Como posso corrigir isso?
por Mike Pennington 27.01.2018 / 18:11

1 resposta

3

Você não está ligando para se conectar ao host que você definiu na sua configuração.

Use ssh gh não ssh .... [email protected]

Mas por quê? - Veja abaixo:

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

Eu não acho que isso aconteceu (você checou usando a história?). Eu acho que você usou ssh -F ./config gh

Você definiu o host como gh em sua configuração:

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

Portanto, você deve simplesmente chamar ssh gh . Você pode passar outros argumentos se você quiser sobrescrever o que está na sua configuração, como se você quisesse usar um usuário diferente, no entanto, como você definiu todas as variáveis necessárias, você deveria estar usando apenas a variável Host e nada mais.

Você nem precisa passar o -F ./config para ser honesto.

    
por 27.01.2018 / 18:31