ssh
Accedere a server, eseguire comandi e creare tunnel cifrati.
Prima di eseguire
Al primo accesso, verificare l’impronta della chiave host tramite un canale attendibile. -N attiva solo gli inoltri; Ctrl+C interrompe questi tunnel in primo piano. -L risolve e raggiunge la destinazione dal server SSH; -R la raggiunge da questo computer. L’ascolto remoto dipende dalle regole di inoltro del server; il binding su loopback dipende anche da GatewayPorts. ExitOnForwardFailure verifica l’avvio dell’inoltro, non ogni destinazione successiva. -D offre SOCKS, non una VPN: configurare separatamente il client, incluso il DNS remoto se supportato. Oscurare indirizzi, nomi utente e percorsi delle chiavi prima di condividere log dettagliati.
Esempi
Accedere all’account remoto, verificare la chiave host e autenticarsi.
ssh alice@server.example.comScegliere porta 2222 e chiave; IdentitiesOnly limita le identità proposte.
ssh -p 2222 -i ~/.ssh/id_ed25519 -o IdentitiesOnly=yes alice@server.example.comRaggiungere la destinazione tramite un bastion host con ProxyJump (-J).
ssh -J alice@bastion.example.com alice@internal.example.comInoltro locale: la porta 15432 raggiunge il database attraverso il server.
ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 -o ExitOnForwardFailure=yes alice@server.example.comInoltro remoto: la porta loopback 18080 del server raggiunge la porta 8080 di questo computer.
ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 -o ExitOnForwardFailure=yes alice@server.example.comCreare un listener SOCKS locale su 127.0.0.1:1080.
ssh -N -D 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.comDiagnosticare con log dettagliati e dieci secondi di timeout per la connessione.
ssh -vvv -o ConnectTimeout=10 alice@server.example.comConnettiti passando in ordine da due host intermedi. Il client autentica ogni passaggio; verifica tutte le chiavi host.
ssh -J alice@jump1.example.com,alice@jump2.example.com alice@target.example.comMostra le impostazioni effettive dopo Host e Include. L’output può contenere dettagli sensibili della connessione.
ssh -G alice@server.example.comEsegui un comando remoto e torna alla shell locale. Usa le virgolette appropriate per la shell remota.
ssh alice@server.example.com 'uptime'Crea e riutilizza una connessione, controllala e chiudi la principale. Proteggi ~/.ssh; la chiusura termina anche le sessioni dipendenti.
ssh -M -S ~/.ssh/securepipes-%C -o ControlPersist=10m -fN alice@server.example.com
ssh -S ~/.ssh/securepipes-%C alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O check alice@server.example.com
ssh -S ~/.ssh/securepipes-%C -O exit alice@server.example.comElenca categorie di query, algoritmi di chiave e cifrari. Il supporto del client non garantisce l’accettazione del server.
ssh -Q help
ssh -Q key
ssh -Q cipherControlla la voce known_hosts e la sua impronta. Rimuovila solo dopo aver verificato indipendentemente il cambio di chiave; usa host e porta esatti.
ssh-keygen -F server.example.com -l
ssh-keygen -R server.example.comUsa modalità non interattiva e timeout negli script. Configura prima autenticazione e fiducia nell’host; le richieste interattive falliscono.
ssh -o BatchMode=yes -o ConnectTimeout=10 alice@server.example.comUsa ProxyCommand con -W tramite un host intermedio. ProxyJump è generalmente più semplice; verifica entrambe le chiavi host.
ssh -o 'ProxyCommand=ssh -W %h:%p alice@bastion.example.com' alice@target.example.comCrea un listener SOCKS sul loopback del server. Altri utenti e processi locali possono accedervi; il server deve consentire l’inoltro.
ssh -N -R 127.0.0.1:1080 -o ExitOnForwardFailure=yes alice@server.example.comConfigura sonde SSH cifrate e timeout di connessione. Rilevano un peer che non risponde, ma non garantiscono la riconnessione.
ssh -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ConnectTimeout=10 alice@server.example.comOpzioni ed esempi
-p portComuneConnettersi alla porta del server specificata.
ssh -p 2222 alice@server.example.com-i identity_fileComuneUtilizzare il file della chiave privata specificato; proteggerlo e non condividerlo mai.
ssh -i ~/.ssh/id_ed25519 alice@server.example.com-l login_nameSpecificare il nome di accesso remoto.
ssh -l alice server.example.com-J destinationComuneConnettersi tramite un host di salto SSH.
ssh -J alice@bastion.example.com alice@internal.example.com-L address:port:host:hostportComuneInoltra una porta di ascolto locale a una destinazione raggiunta dal server SSH.
ssh -N -L 127.0.0.1:15432:db.internal.example.com:5432 alice@server.example.com-R address:port:host:hostportComuneInoltra una porta di ascolto remota a una destinazione raggiunta dal computer locale. I criteri del server possono limitare l'associazione.
ssh -N -R 127.0.0.1:18080:127.0.0.1:8080 alice@server.example.com-D address:portComuneCrea un ascoltatore SOCKS locale. Configura ciascun client per utilizzarlo; questa non è una VPN.
ssh -N -D 127.0.0.1:1080 alice@server.example.com-NComuneNon eseguire un comando remoto; utile solo per l'inoltro.
ssh -N -D 127.0.0.1:1080 alice@server.example.com-o option=valueComuneImposta un'opzione ssh_config per questa invocazione. La riuscita della configurazione dell'inoltro non garantisce che una destinazione sia raggiungibile in seguito.
ssh -o ExitOnForwardFailure=yes alice@server.example.com-F configfileUtilizzare un file di configurazione client alternativo.
ssh -F ~/.ssh/lab_config alice@server.example.com-v / -vvvComuneStampa output diagnostico; più caratteri v aumentano i dettagli. I registri possono contenere informazioni di connessione sensibili.
ssh -vvv alice@server.example.com-4 / -6Utilizza rispettivamente solo IPv4 o solo IPv6.
ssh -4 alice@server.example.com-CRichiedi la compressione. Potrebbe non migliorare il traffico già compresso.
ssh -C alice@server.example.com-T / -tDisabilita o richiedi uno pseudo-terminale, rispettivamente.
ssh -t alice@server.example.com-AAbilita l'inoltro dell'agente. Un host remoto compromesso può richiedere firme all'agente inoltrato; utilizzare solo con host fidati.
ssh -A alice@server.example.com-GStampa la configurazione effettiva del client dopo aver valutato le regole Host e Match.
ssh -G lab-VStampa la versione del client SSH installata.
ssh -VRiferimenti ufficiali
Verificato il 27 ottobre 2026