githubに公開鍵を登録していないユーザーにsuして、ssh経由でpushやpull、cloneをする

ここでは、以下の条件でcloneする例を以下に示す。

githubに公開鍵を登録してるユーザー:foo
suするユーザー: root
$ sudo -E su
-Eをする理由はSSH_AUTH_SOCK環境変数を引き継いでssh-agentによる自動パスフレーズ入力をするため。これは必ずしも必須ではない。
あとは、次のような.ssh/configを作成すれば、gitでgithubからcloneするときにfooとして操作が行われる。
Host github.com
  user foo
  identityfile /home/foo/.ssh/id_rsa

0 件のコメント: