Overfør Miljøvariabler via SSH: Sådan Gør Du Uden at Overskrive $HOME/.ssh2/environment

Hvordan kan en miljøvariabel, der ændrer sig mellem forskellige SSH-opkald, overføres fra klienten til serveren uden at overskrive $HOME/.ssh2/environment hver gang der oprettes en SSH-forbindelse?

For at overføre en miljøvariabel, der ændrer sig mellem forskellige SSH-opkald, fra klienten til serveren uden at overskrive $HOME/.ssh2/environment hver gang, kan du bruge metoder som SSH's SendEnv og AcceptEnv, PermitUserEnvironment, -o mulighed, eller -t mulighed.

Hvordan kan en miljøvariabel, der ændrer sig mellem forskellige SSH-opkald, overføres fra klienten til serveren uden at overskrive $HOME/.ssh2/environment hver gang der oprettes en SSH-forbindelse?

For at overføre en miljøvariabel, der ændrer sig mellem forskellige SSH-opkald, fra klienten til serveren uden at overskrive $HOME/.ssh2/environment hver gang der oprettes en SSH-forbindelse, kan du benytte følgende metoder:

1. Brug af SSH's SendEnv og AcceptEnv

  • På klienten:
    • Rediger /etc/ssh/ssh_config eller ~/.ssh/config og tilføj linjen:
      SendEnv MY_VARIABLE
    • Indstil miljøvariablen i din shell før du opretter SSH-forbindelsen:
      export MY_VARIABLE=value
  • På serveren:
    • Rediger /etc/ssh/sshd_config og tilføj linjen:
      AcceptEnv MY_VARIABLE
    • Genstart SSH-serveren for at anvende ændringerne:
      sudo systemctl restart sshd

2. Brug af SSH's PermitUserEnvironment

  • På serveren:
    • Rediger /etc/ssh/sshd_config og tilføj linjen:
      PermitUserEnvironment yes
    • Genstart SSH-serveren for at anvende ændringerne:
      sudo systemctl restart sshd
  • På klienten:
    • Opret eller rediger ~/.ssh/environment og tilføj din miljøvariabel:
      MY_VARIABLE=value

3. Brug af SSH's -o mulighed

  • På klienten:
    • Indstil miljøvariablen i din shell før du opretter SSH-forbindelsen:
      export MY_VARIABLE=value
    • Opret SSH-forbindelsen med -o mulighed:
      ssh -o SendEnv=MY_VARIABLE user@server

4. Brug af ssh kommandoens -t mulighed

  • På klienten:
    • Indstil miljøvariablen i din shell før du opretter SSH-forbindelsen:
      export MY_VARIABLE=value
    • Opret SSH-forbindelsen med -t mulighed og kør en kommando, der indstiller miljøvariablen på serveren:
      ssh -t user@server 'export MY_VARIABLE=$MY_VARIABLE; bash --login'

Ved at bruge en af disse metoder kan du overføre en miljøvariabel fra klienten til serveren uden at skulle overskrive $HOME/.ssh2/environment hver gang der oprettes en SSH-forbindelse.