ssh-copy-id が失敗する。。。
takuya@~$ ssh-copy-id 192.168.2.1 /usr/local/bin/ssh-copy-id: ERROR: failed to open ID file '/Users/takuya/.ssh/id_rsa.spare': No such file or directory (to install the contents of '/Users/takuya/.ssh/id_rsa.spare.pub' anyway, look at the -f option)
以前、id_ras のスペアを作りかけてやめたんだが、それがどうも影響してるようで。
原因はファイルのタイムスタンプ
ssh-copy-id はまさか開けないような?と思ってダメ元で開けたら、中身がシェルスクリプトだった。まさかのまさか。
ssh-copy-id を見ると、次のようなことが書いてある。
DEFAULT_PUB_ID_FILE="$HOME/$(cd "$HOME" ; ls -t .ssh/id*.pub 2>/dev/null | grep -v -- '-cert.pub$' | head -n 1)"
ポイントはここ。
ls -t .ssh/id*.pub
ここで、.ssh のなかみで 拡張子 pubを最終更新日順で取得していて、一番新しい物を使う。
まさかの最終更新日。
なんと、公開鍵を決めているのは、日付順だった。
てっきり、keychains から探して、id_rsa (秘密鍵)から公開鍵を生成してくるんだと思ってた。
解決方法
touch .ssh/id_つかいたい公開鍵.pub
なんともまあ。