WindowsでVagrantでPageant使ってSSHエージェント転送

なんかはてなブログの下書きの仕様が変わったのか、書いてたの途中で消えちゃったので面倒なので適当に。

WindowsVagrantでPageant使ってSSHエージェント転送するのは簡単だよという話。provisionでGitとか叩くときとかに必要になるアレ。

  • GIT_SSHplink.exeのパスを。
  • Vagrantfileにconfig.ssh.forward_agent = trueを。
  • もちろんPageantにキー突っ込んでおく。

だけで行ける。簡単。

ただこれだけだと、provisionerからroot以外にsuとかsudoするとかした場合にそのままだと行けない。ので、

  • provisionerでSSHする前に、Defaults env_keep += "SSH_AUTH_SOCK"とかをsudoersに突っ込んで、環境変数を渡しつつ、
  • setfacl -R -m u::rwx "${SSH_AUTH_SOCK%/*}"なりして、権限も与える。

とやる。

SSH Agent-Forwarding works, but what about sudo -u username no shell/ permissions? composer - Unix & Linux Stack Exchange

その他数ヶ所参考にしたんだが、どこだったやら……。