Breve: in questa guida, dimostriamo come utilizzare i comandi SSH ProxyJump e SSH ProxyCommand durante la connessione a un jump server.
Nella nostra precedente guida su come configurare un Jump Server SSH, abbiamo coperto il concetto di a Ospite del Bastione. UN Ospite del bastione o un Server di salto è un dispositivo intermedio a cui un client SSH si connette prima di accedere al sistema Linux remoto di destinazione. UN Salto SSH server funge da gateway per le tue risorse IT, riducendo così la superficie di attacco.
IL SSH ProxyJump E ProxyCommand i comandi determinano come un client si connette al server remoto tramite il server di salto, salta host, O server bastione.
Questa guida punta i riflettori sul SSH ProxyJump E Comando proxy SSH su Linux.
Sommario
IL ProxyJump comando è indicato con il -J
bandiera. È stato introdotto in Server OpenSSH versione 7.3 e ti aiuta a stabilire una connessione a una destinazione remota saltando attraverso un bastion o un jump server.
La sintassi seguente mostra come viene utilizzata questa opzione:
$ssh -J
Nel caso di più bastion o jump server, la sintassi assume il seguente formato.
$ssh -J
In entrambi i casi, accederai come utente root in ogni fase del processo. Questo non è l'ideale per motivi di sicurezza, quindi potresti voler creare utenti diversi in ogni istanza.
È possibile specificare in modo esplicito diversi utenti e Porte SSH come mostrato.
$ ss -J <[e-mail protetta]:porta> <[e-mail protetta]:porta>
Per dimostrare il ProxyJump flag in azione, abbiamo una configurazione semplice come mostrato.
IP del server di salto: 173.82.232.55 Utente: james. IP target remoto: 173.82.227.89 Utente: tecmint.
Per connettersi alla destinazione remota utilizzando il file Salto server, il comando avrà il seguente aspetto.
$ssh -J [e-mail protetta][e-mail protetta]
Il comando richiederà la password utente del jump server, quindi seguita dalla password del sistema di destinazione in base alla quale ti verrà concesso l'accesso al sistema di destinazione.
Se usi regolarmente un bastione specifico per connetterti a una destinazione remota specifica, puoi aggiungere quanto segue ProxyJump configurazione nel ~/.ssh/config file per rendere la connessione perfetta. Quando ciò accade, verrai autenticato solo una volta e questo accade solo sul target remoto.
Host host-salto. Utente Giacomo. Nome host 173.82.232.55 Host host_destination. Utente tecmint. Nome host 173.82.227.89. Porto 22.
Utilizzando la configurazione di cui sopra, è possibile effettuare la connessione al target come mostrato.
$ ssh -J destinazione_host.
Prima Salto proxy SSH, ProxyCommand era l'unico modo per saltare gli host per raggiungere l'obiettivo remoto. Funziona inoltrando lo stdin (standard in) e lo stdout (standard out) dalla destinazione remota attraverso il jump server o bastion.
IL ProxyCommand accetta la seguente sintassi.
$ ssh -o ProxyCommand="ssh -W %h:%p"
Ecco, il -W
al %h:%p
gli argomenti inoltrano lo stdin e lo inviano all'host remoto (%H)
e la porta dell'host remoto (%P)
.
Per mettere in atto il comando, ecco come sarebbe il nostro comando
$ ssh -o ProxyCommand="ssh -W %h:%p 173.82.232.55" 173.82.227.89.
Ovviamente, digitare l'intero comando è noioso e richiede tempo. Per evitare di digitare un comando così lungo, aggiungi le seguenti righe di codice al tuo ~/.ssh/config file.
Host host-destinazione. Nome host 173.82.227.89. ProxyCommand ssh -q -W %h:%p host-jump.
Salva ed esci.
Ora tutto ciò che devi fare è eseguire il seguente comando per connetterti al server remoto.
$ ssh host-destinazione.
[ Potrebbe piacerti anche: Come proteggere e rafforzare il server OpenSSH ]
In questa guida, abbiamo dimostrato come ProxyJump E ProxyCommand i comandi funzionano. Generalmente, ProxyJump si presenta come una migliore alternativa a ProxyCommand e fornisce un modo più semplice e senza soluzione di continuità per connettersi a una destinazione remota tramite un jump host.