GNU/Linux >> Linux Esercitazione >  >> Linux

Come scp tramite una macchina intermedia?

Suggerirei quanto segue nel tuo .ssh/config :

Host C
    User user
    ProxyCommand ssh -W %h:%p [email protected]

Non sono molto più sicuro se l'host B non è attendibile e funziona per scp e sftp.


Come descritto in questa risposta, puoi utilizzare ProxyCommand direttiva per avere un ssh host ti rimanda a un terzo host in modo trasparente:

Supponiamo che tu abbia i seguenti tre host:

  • workstation.example.com - Questa è la macchina su cui stai lavorando fisicamente
  • proxy.example.com - Questa è la macchina attraverso la quale stai instradando il tuo traffico SSH
  • endpoint.example.com - Qui è dove vuoi che finisca il traffico

In ~/.ssh/config su workstation , aggiungi quanto segue:

Host endpoint
    User endpointUser # set this to the username on the endpoint host
    HostName endpoint.example.com
    ProxyCommand ssh [email protected] nc %h %p 2> /dev/null

Su proxy host, assicurati che nc (netcat) è installato.

Quindi, su workstation , puoi ssh endpoint o sftp endpoint e verrai indirizzato in modo trasparente alla macchina tramite il tuo host proxy. scp funzionerà anche.


È possibile e relativamente semplice, anche quando è necessario utilizzare i certificati per l'autenticazione (tipico negli ambienti AWS).

Il comando seguente copierà i file da un remotePath su server2 direttamente nella tua macchina su localPath. Internamente la richiesta scp viene inoltrata tramite server1.

scp -i user2-cert.pem -o ProxyCommand="ssh -i user1-cert.pem -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Se invece usi l'autenticazione tramite password, prova con

scp -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Se utilizzi le stesse credenziali utente in entrambi i server:

scp -o ProxyCommand="ssh -W %h:%p [email protected]" [email protected]:/<remotePath> <localpath>

Linux
  1. Come utilizzare il tunneling SSH per accedere a server con restrizioni

  2. Come disabilitare l'accesso dell'utente root tramite SSH

  3. Come eseguire lo Scp tramite una macchina intermedia??

  4. Come trasferire le mie chiavi SSH su un'altra macchina?

  5. Come connettersi a una macchina virtuale hyper-v locale tramite SSH?

Come monitorare la macchina Linux tramite Nagios

Come connettersi al tuo server web tramite SSH

Come connettersi al tuo server tramite SSH

Come eseguire l'SSH sul server tramite Linux

Come aggiungere la chiave SSH al codice VS e connettersi a un host

Come disabilitare il controllo della chiave host SSH in Linux