発生する問題
~/.ssh/config
で管理されているサーバーにssh
コマンドで接続したときに、次のような警告が出る場合がある(ただし、接続自体は成功する)。
$ ssh my-server
Load key "/Users/jnito/.ssh/id_rsa.pub": invalid format
原因
~/.ssh/config
のIdentityFile
に秘密鍵(id_rsa
)と公開鍵(id_rsa.pub
)の2つが指定されている。
~/.ssh/config
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa.pub
IdentityFile ~/.ssh/id_rsa
Host my-server
HostName foo-bar.jp
IdentityFile ~/.ssh/id_rsa.pub
Port 5419
User hogehoge
秘密鍵が指定されているので接続には成功するが、公開鍵を指定することには問題があるので警告が出てしまう。
解決策
~/.ssh/config
のIdentityFile
には秘密鍵(id_rsa
)だけを指定する。
~/.ssh/config
Host *
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
Host my-server
HostName foo-bar.jp
IdentityFile ~/.ssh/id_rsa
Port 5419
User hogehoge
参考情報
linux - id_rsa.pub file SSH Error: invalid format - Stack Overflow