Usa il file di configurazione SSH con Putty [chiuso]

1

Sto usando SourceTree (una Git GUI) che usa PuTTY come client SSH. Ho bisogno di spingere un po 'di codice in un repository per il quale ho bisogno di fare il tunnel attraverso SSH per farlo. Il problema è che il repository e il server di autenticazione SSH si trovano su server separati. Quindi, ho bisogno di accedere a un server e poi spingere a un altro.

Mi è stato fornito il seguente file config ma non so come usarlo con PuTTY:

Host login
HostName login.nets.*******.**

Host zeus
HostName zeus.nets.*******.**
ProxyCommand ssh login nc %h %p 2> /dev/null
#ProxyCommand ssh login -W %h:%p
ForwardAgent yes
IdentityFile ~/.ssh/id_rsa
    
posta Sam Rad 23.04.2014 - 13:24
fonte

1 risposta

5

PuTTY non memorizza la sua configurazione in un file . Tuttavia, PuTTY può utilizzare un "comando proxy", come descritto qui .

Nel tuo caso, il file di configurazione di esempio mostra che dovrebbero esserci due connessioni SSH incapsulate:

  • L'SSH esterno viene eseguito per ospitare login.nets.*** . Al termine della connessione, il comando nc viene eseguito su quell'host: in pratica, inoltra i dati byte alla porta 22 sull'host interno zeus.nets.*** .

  • L'SSH interno viene eseguito di nuovo dalla tua macchina, per ospitare zeus.nets.*** , con tutti i byte di dati inviati attraverso l'SSH esterno.

Nell'opzione ProxyCommand , la parte ssh login è l'invocazione dell'SSH esterno quando l'utente (o l'applicazione della GUI) tenta di connettersi a "zeus". Non è ovvio se la stessa PuTTY possa essere invocata in questo modo: là è a command line ma hai anche bisogno del" inner PuTTY "per inoltrare tutti i suoi byte al" outer PuTTY ", e non è chiaro se quel" outer PuTTY "accetterà i byte sul suo "standard input" (Windows non è Unix e, inoltre, PuTTY non si aspetta di essere eseguito in un terminale o su byte non elaborati, ma tenta di aprire la propria finestra).

Possibili alternative:

  • Prova a utilizzare port forwarding . In tal caso, si avvia manualmente un PuTTY a login.nets.*** , con un port forwarding dalla porta locale 5000 (che è un esempio) all'host remoto zeus.nets.*** e alla porta remota 22. Quindi si configura la GUI per parlare (con PuTTY) a localhost sulla porta 5000. Quando la GUI avvia il PuTTY che si collega a localhost sulla porta 5000, l'altro PuTTY (quello avviato manualmente) inoltra i byte all'host login.nets.*** con le istruzioni per aprire una connessione da quell'host a zeus.nets.*** sulla porta 22.

    Potrebbe funzionare o meno, a seconda della configurazione del server SSH su login.nets.*** (il supporto per tali tunnel può essere abilitato o disabilitato dal sysadmin).

  • Utilizza un altro client SSH simile a Unix, ad es. attraverso Cygwin . Poiché questo è il solito OpenSSH , sarà in grado di leggere e utilizzare il file di configurazione SSH fornito, e fare l'invocazione annidata. Naturalmente, non vi è alcuna garanzia che l'applicazione "SourceTree" possa essere configurata per utilizzare un client SSH di questo tipo.

risposta data 23.04.2014 - 14:33
fonte

Leggi altre domande sui tag