GNU/Linux >> Linux Esercitazione >  >> Linux

Ssh-agent non viene configurato (ssh_auth_sock, Ssh_agent_pid Env Vars non impostato)?

Ho creato un nuovo account utente per un amico su Kubuntu 12.04. Quando usa ssh ottiene questo errore:

Impossibile aprire una connessione al tuo agente di autenticazione

Stiamo eseguendo ssh in alcuni script bash.

Dopo aver esaminato l'ampia varietà di cose che possono portare a quell'errore, mi sono imbattuto in questa soluzione:

$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/some_id_rsa

Quindi può eseguire ssh comandi (e script bash) come previsto.

Prima di eseguire questi due comandi, le variabili env non sono impostate in un terminale:

$ echo $SSH_AGENT_PID

$ echo $SSH_AUTH_SOCK

$ 

Dopo aver eseguito i comandi, le variabili env vengono impostate come previsto. Tuttavia, non rimangono impostati (ad esempio, in una shell diversa o dopo il riavvio).

Voglio sapere come configurare il suo computer in modo che non debba eseguire quei due comandi per impostare le variabili env. Non ho bisogno di eseguirli sul mio computer (mai). Finora non vedo cosa c'è di diverso tra le nostre macchine.

Vedo queste informazioni nella pagina man, ma non mi dicono come Ubuntu stia normalmente configurando automaticamente l'agente o cosa sta succedendo sul computer del mio amico in modo che questo non funzioni per lui.

Esistono due modi principali per configurare un agente:il primo è che l'agente
avvii un nuovo sottocomando in cui vengono
esportate alcune variabili di ambiente, ad esempio ssh-agent xterm &. La seconda è che l'agente stampa i
comandi shell necessari (è possibile generare la sintassi sh(1) o csh(1)
che possono essere valutati nella shell chiamante, ad esempio eval ssh-agent -s per
shell di tipo Bourne come sh(1) o ksh(1) e eval ssh-agent -c per
csh(1) e derivati.

Dopo aver installato acct e riavviando, questo è l'output di lastcomm :

ssh-agent         F    newuser __         0.12 secs Wed Aug  7 11:02
ssh-agent         F    newuser __         0.00 secs Wed Aug  7 20:34
ssh-agent         F    newuser __         0.02 secs Wed Aug  7 20:02
ssh-agent         F    newuser __         0.01 secs Thu Aug  8 12:39
ssh-agent         F    newuser __         0.02 secs Thu Aug  8 07:45

Dalla pagina man:

F — comando eseguito dopo un fork ma senza un successivo exec

Non sono sicuro che sia significativo.

Risposta accettata:

Hai detto che il tuo utente è ssh ing in, non l'accesso localmente. Quindi use-ssh-agent in /etc/X11/Xsession.options è una falsa pista:non verrà eseguito su sessioni SSH, solo quando si accede a un desktop della GUI X11 localmente (o utilizzando una sessione X11 virtuale come su VNC o RDP).

Correlati:come eseguire un programma specifico come root senza una richiesta di password?

Invece, dovresti controllare se libpam-ssh è installato su entrambi i sistemi. Può essere configurato per autenticare un utente utilizzando passphrase di chiave privata SSH, ma è facoltativo e dovrai posizionare la chiave in modo specifico su ~/.ssh/login-keys.d/ per quella funzionalità.

La sua altra caratteristica, tuttavia, è avviare automaticamente un agente SSH su qualsiasi sessione di accesso e aggiungere automaticamente chiavi private SSH all'agente se la loro passphrase è la stessa della password di accesso dell'utente. Penso che questa potrebbe essere la causa del diverso comportamento tra i tuoi sistemi.


Linux
  1. Ssh:limitare un utente Ssh/scp/sftp a una directory?

  2. Vim non funziona all'interno di Tmux?

  3. Imposta +a non disattiva il flag -a?

  4. Introduzione a SSH in Linux

  5. Procedura:per iniziare con Ansible

Come configurare l'accesso SSH senza password

Guida introduttiva a LibreCAD

Env Vars In /etc/environment non è visibile a livello globale?

Come configurare SSH su CentOS e RHEL

Come configurare le chiavi SSH su Ubuntu 18.04

SSH - imposta env vairables da ogni connessione - host condiviso godaddy