Configurazione aggiuntiva richiesta per l'inoltro di ssh-agent?


21

Questa guida fa un ottimo lavoro spiegando come ssh-agent funziona su più sistemi. Vorrei impostare l'inoltro come nell'ultima serie di diagrammi, ma ho problemi a rintracciare i passaggi necessari per farlo.

Per alcune macchine sulla mia rete, posso ssh da A a B, quindi da B a C, senza mai inserire una password di certificato. Altre macchine, tuttavia, forniscono un "Impossibile aprire una connessione al tuo agente di autenticazione" (a volte!), Quindi non inoltrano le mie informazioni di autenticazione. SSHing da una di queste macchine a un'altra casella della rete richiede nuovamente la mia password della chiave privata.

Non ho costruito queste macchine, ma posso amministrarne alcune. Non so per certo quale sia la differenza tra boxen che funzionano e quelli che non lo fanno - potrebbe essere un problema con il firewall, la configurazione di ssh / ssh-agent / sshd, qualsiasi cosa, e non vedo alcun passaggio- guide dettagliate specifiche per l' inoltro che fluttuano intorno alla rete. Devo solo sapere da dove iniziare a inseguire questo problema.

Risposte:


23

L'inoltro dell'agente ssh deve essere consentito sul client ( ForwardAgentopzione in ~/.ssh/config) e sul server ( AllowAgentForwardingopzione in sshd_config). È probabile che le tue macchine abbiano impostazioni predefinite diverse per una o entrambe queste opzioni.

Se stai andando A-> B-> C, l'inoltro non è necessario sul passaggio B-> C (a meno che tu non vada quindi C-> D ovviamente).

Quando sei loggato in B, controlla che la variabile d'ambiente SSH_AUTH_SOCKsia definita. Il suo valore è sshsapere come contattare l'agente.

Non vi è alcuna buona ragione per vietare l'inoltro dell'agente nel server, dato che l'inoltro dell'agente rende il client vulnerabile al server e non il contrario, e che in linea di principio è possibile impostare l'inoltro dell'agente manualmente (anche se non ci sarebbe molto da fare da allora la difficoltà di installarlo vanificherebbe la convenienza dell'inoltro dell'agente).


La buona notizia: grazie per avermi indicato la chiave giusta da cercare! La cattiva notizia: apparentemente si tratta di un bug noto in openssh-server. Sembra che sia stato corretto, ad un certo punto, ma non credo di eseguire una versione abbastanza attuale - Ottengo "Opzione di configurazione errata: AllowAgentForwarding" quando provo ad abilitarlo. Sembra che sia spento aggiornare il mio software loadout (di nuovo ...)
Coderer

1
@Coderer: poiché l'inoltro dell'agente è attivo per impostazione predefinita, dovrebbe essere sufficiente rimuovere qualsiasi AllowAgentForwardinglinea da sshd_config.
Gilles 'SO- smetti di essere malvagio' il

@Gilles Se qualcuno volesse impostare manualmente l'inoltro dell'agente per una sessione esistente, come farebbe per farlo? Questa è una vera necessità con gli script di provisioning utilizzati con macchine effimere come le AMI che vengono AllowAgentForwardingdisabilitate.
Andrew De Andrade,

@AndrewDeAndrade Per una sessione esistente, hai il tuo lavoro tagliato. Se intendevi configurare l'inoltro dell'agente anche se è disabilitato sul server, devi inoltrare un socket unix su TCP; questo dovrebbe essere fattibile con netcat o socat su entrambi i lati.
Gilles 'SO- smetti di essere malvagio' il

@Gilles Questa è la conclusione che sono arrivata anch'io. Ho scoperto che puoi anche usare spiped, che è più sicuro ma richiede uno scambio simmetrico di chiavi, ma dopo è più semplice.
Andrew De Andrade,

14

Mentre hai già la risposta giusta di @Gilles sopra, volevo sottolineare che AllowAgentForwardingè supportato solo da OpenSSH 5.1 in poi.

I server OpenSSH precedenti alla 5.1, da quello che ho visto nella mia scatola RHEL 4u5, consentono l'inoltro dell'agente per impostazione predefinita. Quindi se il tuo server è più vecchio di 5.1 e l'inoltro dell'agente non funziona, il problema è probabilmente nel client ssh. Poiché l'inoltro sembra funzionare per alcune macchine, sembra che l' /etc/ssh/ssh_configinstallazione sia corretta. Verifica ~/.ssh/configse sono state fatte eccezioni per disabilitare l'inoltro dell'agente per le caselle interessate.

Rif: http://www.openssh.org/txt/release-5.1


ciao Sandip, ne hai idea? superuser.com/questions/958978/…
Niks,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.