質問: sshが〜/ .ssh / configを無視するのはなぜですか? githubにコミットできません 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 ghではなくssh .... git@github.comを使用してくださいしかし、なぜですか?-以下を参照してください: [mpenning @ mudslide .ssh] $ ssh -f ./config git@github.comアクセスが拒否されました(公開鍵)。 ^^^^^^^^これは以前は機能していました 今までになかったと思います(履歴を使って確認しましたか?)。 ssh -f ./config ghを使用したと思います構成でホストをghとして定義しました。host gh hostname github.com user git identityfile ~/.ssh/id_rsa_github したがって、単にssh ghを呼び出す必要があります。別のユーザーを使用したい場合など、構成内の内容をオーバーライドする場合は、他の引数を渡すことができますが、必要なすべての変数を設定したので、host変数のみを使用する必要があります。正直に言うと、-f ./configを渡す必要すらありません。