Sådan sikrer du, at alle logins bruger samme ssh-agent: En guide

Hvordan kan man sikre, at alle logins fra en given bruger anvender den samme ssh-agent, uanset om login sker via SSH, en grafisk session eller en konsol, uden at skulle bruge et script som det nedenstående?

For at sikre, at alle logins fra en given bruger anvender den samme ssh-agent, kan du bruge system-wide miljøvariabler, konfigurere PAM eller opsætte en centraliseret agent som en systemtjeneste.

Sådan sikrer du, at alle logins fra en given bruger anvender den samme ssh-agent

For at sikre, at alle logins fra en given bruger anvender den samme ssh-agent, uanset om login sker via SSH, en grafisk session eller en konsol, kan du følge disse trin:

  • Brug system-wide miljøvariabler: Konfigurer system-wide miljøvariabler, så ssh-agent automatisk startes og bruges af alle sessioner.
  • Konfigurer PAM (Pluggable Authentication Modules): PAM kan bruges til at indstille miljøvariabler for alle sessioner. Dette kan gøres ved at redigere PAM-konfigurationsfilerne.
  • Brug en centraliseret agent: Opsæt en centraliseret ssh-agent, der kører som en systemtjeneste, og konfigurer alle brugersessioner til at forbinde til denne agent.

1. Brug system-wide miljøvariabler

Du kan tilføje følgende linjer til /etc/profile eller /etc/bash.bashrc for at sikre, at ssh-agent startes og bruges af alle sessioner:


if [ -z "$SSH_AUTH_SOCK" ]; then
    eval "$(ssh-agent -s)"
fi

2. Konfigurer PAM

Rediger PAM-konfigurationsfilerne for at indstille miljøvariabler for alle sessioner. Tilføj følgende linje til /etc/pam.d/common-session:


session optional pam_env.so

Og tilføj derefter miljøvariablerne til /etc/environment:


SSH_AGENT_PID=your_ssh_agent_pid
SSH_AUTH_SOCK=your_ssh_auth_sock

3. Brug en centraliseret agent

Opsæt en centraliseret ssh-agent, der kører som en systemtjeneste. Dette kan gøres ved at oprette en systemd-tjeneste. Opret en fil som /etc/systemd/system/ssh-agent.service med følgende indhold:


[Unit]
Description=SSH Agent

[Service]
Type=forking
ExecStart=/usr/bin/ssh-agent -s

[Install]
WantedBy=default.target

Aktiver og start tjenesten:


sudo systemctl enable ssh-agent
sudo systemctl start ssh-agent

Tilføj derefter følgende linjer til /etc/profile eller /etc/bash.bashrc for at forbinde til den centraliserede agent:


export SSH_AUTH_SOCK=/run/user/$(id -u)/ssh-agent.socket

Ved at følge disse trin kan du sikre, at alle logins fra en given bruger anvender den samme ssh-agent uden at skulle bruge et script som det nedenstående.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker