githubにログインするときにOpenSSHが特定のキーを使うように設定しました。
[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]$
しかし、CLIでgithubの秘密鍵を明示的に呼び出さずにgithubにSSH接続すると、認証が失敗します。
[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]$
私の質問
- 何がこれを破ったの?
- どうすれば修正できますか?
ssh-add
)
ssh-agent
/ssh-add
。