行っていたこと
メインで使っていたアカウントとは別でサブのアカウントでgit cloneしたかったため
[備忘] 複数Githubアカウントでssh接続設定(config)を使い分ける手順
こちらの記事を参考に進め、ssh接続をテストするために
% ssh -T git@github.com.sub
こちらのコマンドを実行したところ、エラーが出ました。
no such identity: /Users/ユーザー名/.ssh/id_rsa_sub?\200\200: No such file or directory
git@github.com: Permission denied (publickey).
原因調査
エラー文をよく見てみるとファイル名の後ろに「?\200\200」という文字があります。
.ssh配下の"id_rsa_sub?\200\200"というファイルを探してしまっているのでNo such file or directory
とエラーが出ています。
しかしそんなファイル名にした覚えがないので~/.ssh/config
を確認してみます。
~/.ssh/config
Host github.com.main # メインアカウント
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa_main # メインアカウント用の鍵
TCPKeepAlive yes
IdentitiesOnly yes
Host github.com.sub # サブアカウント
HostName github.com
User git
Port 22
IdentityFile ~/.ssh/id_rsa_sub # サブアカウント用の鍵
TCPKeepAlive yes
IdentitiesOnly yes
どこも間違えているところはない、、、と思っていたのですが、よく見てみると~/.ssh/id_rsa_sub
の後ろに全角スペースがありました。チクショウ!!
最後に
全角スペースを解消し、もう一度% ssh -T git@github.com.sub
を実行すると接続が成功したのが確認できました。
Hi {Githubアカウント名}! You've successfully authenticated, but GitHub does not provide shell access.
全角スペース一つでうまくいかないもんですね。
この記事が誰かのお役に立てれば幸いです。