Dimungkinkan juga untuk melewatkan variabel lingkungan secara eksplisit melalui ssh. Itu memang membutuhkan beberapa pengaturan sisi server, jadi ini bukan jawaban universal.
Dalam kasus saya, saya ingin meneruskan kunci enkripsi repositori cadangan ke perintah di server penyimpanan cadangan tanpa kunci itu disimpan di sana, tetapi perhatikan bahwa variabel lingkungan apa pun terlihat di ps ! Solusi meneruskan kunci pada stdin juga akan berfungsi, tetapi saya merasa itu terlalu rumit. Bagaimanapun, berikut ini cara meneruskan variabel lingkungan melalui ssh:
Di server, edit sshd_configfile, biasanya /etc/ssh/sshd_configdan tambahkan AcceptEnvperintah yang cocok dengan variabel yang ingin Anda teruskan. Lihat man sshd_config. Dalam kasus saya, saya ingin meneruskan variabel ke borg backup jadi saya memilih:
AcceptEnv BORG_*
Sekarang, pada klien gunakan -o SendEnvopsi untuk mengirim variabel lingkungan. Baris perintah berikut menetapkan variabel lingkungan BORG_SECRETdan kemudian menandainya untuk dikirim ke mesin klien (dipanggil backup). Ini kemudian berjalan di printenvsana dan memfilter output untuk variabel BORG:
$ BORG_SECRET=magic-happens ssh -o SendEnv=BORG_SECRET backup printenv | egrep BORG
BORG_SECRET=magic-happens