sudo でスクリプトを実行した際に .ssh の参照先で困ったメモ

事象と原因

ある現場で、下記のようにシェルスクリプトを叩き、GitHub から諸々引っ張ってきてデプロイするという作業がある。

$sudo ./xxxx.sh

先日の GitHub 社のキー流出事件 によって、古のVMに入って対応作業をしていたんですが、 ~/.ssh の設定をいくら変えても GitHub との接続に失敗する事象が発生しました。ただ、手打ちで git コマンドを叩いているときはちゃんと動いてくれたので謎でした。

調査を続けたところ、スクリプト実行時には /root/.ssh を参照していることが判明。

スクリプトの実行時に sudo を付けていることが根本原因で、そちらの設定ファイルを見に行っていたというのがオチでした。(前任者はそれを知ってて、ssh のキーをsudoで作成してた?)

まぁ分かってしまえば大した話じゃないんですが、結構盲点だったので記事に残しておきます。

タイトルとURLをコピーしました