2016-03-21 8 views
2

Anasistem sistemimdeki belirli ortam değişkenlerinin, Vagrant VM'm içinde config.ssh.forward_env ayarını kullanarak görünmesini istiyorum. Vagrant 1.8.1 kullanıyorum. Vagrant'ta config.ssh.forward_env nasıl kullanılır?

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

Ben çıktı bar son çizgiyi beklenen, ancak bunun yerine ( Connection to 127.0.0.1 closed. ardından) boş bir satır sonucu:

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

bunu oluşturduktan sonra, ben bu komutları ran: İşte benim Vagrantfile bu. Neyi yanlış yapıyorum?

cevap

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]$ 

olarak sendEnv olarak config.ssh.forward_env çalışır böylece varsayılan olarak env değişkenleri kabul edecek ana bilgisayarı yapılandırmak gerekir sendEnv kullanarak değişkenleri geçmesine doc söyledi (ve yukarıda benim örnek umuduyla Eğer kendi Var ekleyebilir /etc/ssh/sshd_config

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

yetkili değişkenleri gözden geçirebilir, ortak kurulum yoluyla LC_* sağlar) çalışması gerekir Burada gerektiği gibi kullanılır veya varsayılan önek LC_