16 ssh の SSH_AUTH_SOCK (未解決)

(工事中)

これまでシェル・スクリプトの中で
export SSH_AUTH_SOCK=`/bin/ls /private/tmp/com.apple.launchd*/Listeners|head -1`
のようなことをしていたのだが、うまく行かなくなった。 普通にログインして echo $SSH_AUTH_SOCK したら /tmp/ssh-jFRDPiXa7m/agent.37510 のような値になっていた。 形式が違うね。

試しにシェル・スクリプトの方を
export SSH_AUTH_SOCK=/tmp/ssh-jFRDPiXa7m/agent.37510
にしたら動く。はてさて。


次が参考になるかな? 「Linux と Mac では ssh-agent の挙動が異なる」

export SSH_AUTH_SOCK=`/bin/ls -tr /private/tmp/com.apple.launchd*/Listeners|tail -1`
とするのかな?複数あったら最新のにする。

逆順にして最後よりは、普通の順序で最初の方が自然か。
export SSH_AUTH_SOCK=`/bin/ls -t /private/tmp/com.apple.launchd*/Listeners|head -1`

自分専用のホストだけど、複数のユーザーがいたら?

http://www.lbackup.org/developer/official_ssh_agent_instructions

あー、grep $username とかしている人がいる。やはり。 まあ、それも完全ではないだろうけれどね。


ああ、同じようなことをしている人がいた、

「Macでssh時の'Permission denied (publickey).'の解決法」

この人は ls -tr して tail -1 だ (おそろいー)。 さらにすごく凝ったことをしている。すごい。

もう10年以上も前の記事なんですね。



桂田 祐史