Ortam değişkenlerini açıkça ssh aracılığıyla geçirmek de mümkündür. Bazı sunucu tarafı kurulumları gerektirir, bu yüzden bu evrensel bir cevap değildir.
Benim durumumda, yedekleme deposu şifreleme anahtarını yedek depolama sunucusundaki bir komuta, o anahtar orada saklanmadan geçirmek istedim, ancak herhangi bir ortam değişkeninin içinde göründüğüne dikkat edin ps! Anahtarı stdin'den geçirme çözümü de işe yarayacaktı, ancak bunu çok hantal buldum. Her durumda, bir ortam değişkenini ssh üzerinden şu şekilde geçirebilirsiniz:
Sunucuda, sshd_configgenellikle dosyayı düzenleyin ve iletmek istediğiniz değişkenlerle eşleşen /etc/ssh/sshd_configbir AcceptEnvyönerge ekleyin . Bakın man sshd_config. Benim durumumda, değişkenleri borg yedeklemesine geçirmek istiyorum, bu yüzden şunu seçtim:
AcceptEnv BORG_*
Şimdi, istemcide -o SendEnvortam değişkenlerini gönderme seçeneğini kullanın. Aşağıdaki komut satırı ortam değişkenini ayarlar BORG_SECRETve ardından istemci makineye (çağrılır backup) gönderilmek üzere işaretler . Daha sonra printenvorada çalışır ve BORG değişkenleri için çıktıyı filtreler:
$ BORG_SECRET=magic-happens ssh -o SendEnv=BORG_SECRET backup printenv | egrep BORG
BORG_SECRET=magic-happens