2016-03-21 11 views
2

config.ssh.forward_env設定を使用して、私のホストシステムの特定の環境変数をVagrant VM内に表示します。私はVagrant 1.8.1を使用しています。ここに私のVagrantfileです:Vagrantでconfig.ssh.forward_envを使用するには?

Vagrant.configure(2) do |config| 
    config.vm.box = 'ubuntu/trusty64' 
    config.ssh.forward_env = ['FOO'] 
end 

それを作成した後、私はこれらのコマンドを実行しました:

vagrant up 
export FOO=bar 
vagrant ssh -c 'echo $FOO' 

私は出力barへの最終ラインを期待し、代わりにそれは(Connection to 127.0.0.1 closed.続く)空白行を出力します。私は間違って何をしていますか?

答えて

5

TL; DR

[email protected]$ export LC_MYVAR=TEST 
[email protected]$ vagrant ssh -c 'echo $LC_MYVAR' 
TEST 
Connection to 127.0.0.1 closed. 
[email protected]$ 

としてはsendEnvとしてconfig.ssh.forward_env作品は、デフォルトで、ENV変数を受け入れるようにホストを設定します(上記の私の例を望んでいなければならないので、SendEnv項目を使用して変数を渡すために、ドキュメントで述べてあなたがあなた自身のVARを追加することができます/etc/ssh/sshd_config

# Allow client to pass locale environment variables 
AcceptEnv LANG LC_* 

で承認変数を確認することができ、一般的なセットアップが通過LC_*することができます)動作するはずです必要に応じてiablesを使うか、デフォルトのプレフィックスを使用するLC_

関連する問題