Windows + Cygwin SSHD の環境変数問題
リモートにWindows + Cygwin SSHD環境がある。
ここにssh接続して作業を行っているのだけど、
ssh経由でシェルを立ち上げると、Windowsの環境変数が一部しか引き継がれない。
これにより、一部ツールが動作しない事がある。
(今回はBerkshelfで、NUMBER_OF_PROCESSORSが引き継がれず動かなかった)
しかし、ssh経由でシェルを立ち上げないと、ssh-agent(SSH_AUTH_SOCK)が引き継がれない。
うーん・・。
仕方ないのでとりあえずこんな方法で乗り切っている。
いい方法はないものか。
1. ssh接続してシェルを立ち上げ、SSH_AUTH_SOCK確認
[local]$ ssh -A x.x.x.x [remote]$ env | grep SSH_AUTH_SOCK SSH_AUTH_SOCK=/tmp/ssh-ppgBxWarw0/agent.2252
2. リモートのWindowsで、cygwin経由でシェルを立ち上げ、SSH_AUTH_SOCK設定。リモートデスクトップで。
[remote]$ export SSH_AUTH_SOCK=/tmp/ssh-ppgBxWarw0/agent.2252 [remote]$ screen -US share
以降はこのscreenの仮想ターミナルを使うので、デタッチしておいてよい。
3. (1) のシェルから(2)で作った仮想ターミナルにアタッチ。
[remote]$ screen -USx share