[git]あまり難しく考えずにssh鍵を指定する

最近のソース管理はほぼgitだがそうなると鍵管理がいろいろ複雑化してしまった。

昔から今までの複数の相手先もあるし、個人で使っているgitリポジトリも目的別にいろいろ分けていたり、https認証だったり、ssh認証だったりするとgit管理ツールによって読めたり読めなかったりと。。。

一度はまとめようと考えたのだが、さてやってみると今度は仕事用マシンと趣味作業用マシンで鍵が分けられないとか、同じ鍵を別個人アカウントでは同じgitリポジトリに登録できないとか(セキュリティ的には分かるのですが)とか混乱を極めて半分あきらめていたのです。

で、ようやく整理がつきそうな方法で見つけたのが

git -c core.sshCommand="C:/Windows/System32/OpenSSH/ssh.ssh.exe -i (秘密鍵パス)" pull (リポジトリ)

ああ、これなら鍵指定を迷わずに、Windows認証画面が出たり、鍵アプリが立ち上がったり、git管理ソフトが認証失敗とかいろいろ言われずに、日常作業バッチに混ぜられるよね。

https://qiita.com/sonots/items/826b90b085f294f93acf

https://qiita.com/szly/items/e774961a41895ac50cf4

ただssh秘密鍵のファイル配置位置の問題で「WARNING: UNPROTECTED PRIVATE KEY FILE!」とか言われてしまった。こっちはセキュリティ設定で回避

https://qastack.jp/superuser/1296024/windows-ssh-permissions-for-private-key-are-too-open

日常使うマクロやバッチの配置位置は決めてる場所があるもので。。。

よかったよかった。