Ho cercato una soluzione al seguente problema per le ultime 2 ore senza fortuna.
Sviluppo:
Sto usando l'autenticazione con chiave pubblica per connettermi ai miei server. Uso l'inoltro di ssh-agent per non dover gestire chiavi pubbliche / private.
Diciamo che ho dei server A, B and C
.
Funziona molto bene se mi connetto da LOCAL ---> A ---> B
.
Funziona anche molto bene se lo faccio LOCAL ---> A ---> C
.
Ora, se provo LOCAL ---> A ---> B ---> C
, SSH non può connettersi da B to C
.
Vale la pena notare: mi collego al server A come liquidità, mentre mi collego al server B come root. La connessione al server B come liquidità risolve il problema, ma questa non è un'opzione per me.
Come da raccomandazione di un utente, utilizzo ssh -A
ogni volta per assicurarsi che l'inoltro dell'agente sia abilitato.
Ho trovato una domanda simile, senza risposta qui: è possibile concatenare l'inoltro di ssh-agent attraverso più hop?
Secondo @Zoredache qui: /server//a/561576/45671 Ho solo bisogno di regolare la configurazione del mio client su ciascun sistema intermedio. Che credo di aver fatto.
ProxyCommand
hopping (come spiegato qui ) invece di inoltrare l'agente SSH. Per il tuo approccio dovrai fidarti di tutte le macchine della catena perché possono (ab) usare le tue chiavi private. Mi piace anche l'approccio ProxyCommand molto meglio perché il controllo host noto viene eseguito localmente e, inoltre, è possibile impostare la catena nella configurazione SSH in modo da poter utilizzare un singolo comando per connettersi a C.