それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ssh-copy-id が失敗するので、調べたらまさかの結果

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

なんともまあ。