Cũng có thể chuyển các biến môi trường một cách rõ ràng qua ssh. Nó yêu cầu một số thiết lập phía máy chủ, vì vậy đây không phải là một câu trả lời phổ biến.
Trong trường hợp của tôi, tôi muốn chuyển khóa mã hóa kho lưu trữ sao lưu cho một lệnh trên máy chủ lưu trữ dự phòng mà không cần lưu trữ khóa đó ở đó, nhưng lưu ý rằng mọi biến môi trường đều hiển thị trong ps
! Giải pháp chuyển khóa trên stdin cũng sẽ hoạt động, nhưng tôi thấy nó quá cồng kềnh. Trong mọi trường hợp, đây là cách chuyển một biến môi trường qua ssh:
Trên máy chủ, hãy chỉnh sửa sshd_config
tệp, thông thường /etc/ssh/sshd_config
và thêm một AcceptEnv
chỉ thị phù hợp với các biến bạn muốn chuyển. Thấy chưa man sshd_config
. Trong trường hợp của tôi, tôi muốn chuyển các biến vào bản sao lưu borg nên tôi đã chọn:
AcceptEnv BORG_*
Bây giờ, trên máy khách sử dụng -o SendEnv
tùy chọn để gửi các biến môi trường. Dòng lệnh sau đặt biến môi trường BORG_SECRET
và sau đó gắn cờ biến nó sẽ được gửi đến máy khách (được gọi backup
). Sau đó, nó chạy printenv
ở đó và lọc đầu ra cho các biến BORG:
$ BORG_SECRET=magic-happens ssh -o SendEnv=BORG_SECRET backup printenv | egrep BORG
BORG_SECRET=magic-happens