Advanced Secure Shell: 6 cose che puoi fare con SSH

Pubblicato: 2021-10-02

SSH è lo strumento più popolare per l'accesso remoto ai tuoi server. È anche uno degli strumenti più fraintesi in sysadmin. Sebbene abbia alcuni casi d'uso molto specifici, ce ne sono molti altri che le persone non conoscono. In questo post, tratteremo sei cose che puoi fare con SSH per semplificarti la vita e risolvere più problemi di quanti tu possa immaginare!

Correlati: 10 migliori scanner di sicurezza del codice PHP.


Advanced Secure Shell: 6 cose che puoi fare con SSH

1) SFTP

SFTP è l'abbreviazione di SSH File Transfer Protocol. Ti consente di copiare in modo sicuro i file sulla rete utilizzando il metodo preferito di spostamento dei dati (FTP, SCP, Rsync). Utilizza anche chiavi, anziché password, per una maggiore sicurezza e autenticazione.

È ottimo per trasferire file dove FTP o SCP sono bloccati ma SFTP no! Potresti anche usarlo se hai bisogno di connetterti tra due macchine che non hanno accesso diretto, ma dove lo fa SSH.

L'uso di FileZilla è il modo preferito, che implica l'inserimento del nome utente, della porta e dell'indirizzo del tuo SSH. Successivamente, è il momento di utilizzare SFTP semplicemente digitando "sftp [email protected]". In questo modo potrai interagire all'interno del terminale per scaricare/caricare file, sfogliare directory e altro ancora.

2) Mantieni viva la connessione

Fermare la tua connessione dal morire è sempre importante. Fortunatamente, puoi impedire che la tua sessione SSH venga interrotta prematuramente utilizzando tre direttive.

L'argomento TCPKeepAlive determina se mantenere aperta o meno una connessione. Quando questa opzione è abilitata, il client invierà costantemente pacchetti di dati nel tentativo di mantenere il collegamento di rete con il server a cui è connesso.

ClientAliveInterval specifica la frequenza con cui desideri che il tuo sistema invii traffico attraverso la rete. ClientAliveCountMax specifica dopo quanti messaggi senza risposta dovrebbero terminare questa sessione, in modo che possa aver luogo un altro tentativo.

ServerAliveInterval è uguale a ClientAliveInterval, ma è impostato dall'altra parte. Questo specifica quanto tempo il client attenderà prima di inviare i dati per verificare che siano ancora connessi.

Utilizzando questi tre insieme è possibile impedire il timeout delle sessioni SSH pur consentendo l'interruzione del traffico fino a quando non viene stabilita un'altra sessione. Puoi anche istruire il tuo server o client quante volte dovrebbero fallire prima di considerare un collegamento di rete inattivo!

3) Agente SSH

SSH Agent è un programma che aiuta a gestire le chiavi SSH. Fornisce un modo semplice per caricare la tua chiave privata in memoria in modo da non dover digitare la password ogni volta!

Quando avvii una sessione con l'agente, tutte le finestre e le applicazioni che richiedono una connessione SSH avranno automaticamente accesso alla tua chiave privata. Hai creato una sola passphrase per questo processo per iniziare rapidamente!

Gli agenti possono essere inoltrati per utilizzare le stesse credenziali da un host connesso a un altro. Tuttavia, queste credenziali vengono archiviate dagli agenti, il che aumenta il rischio di pirateria informatica. Pertanto, non consiglio di inoltrare il tuo agente a nient'altro che a una macchina attendibile.

4) Tunneling tramite port forwarding locale

Un caso d'uso per SSH è il tunneling. Questo può essere utilizzato per proteggere il traffico dell'applicazione all'interno di una connessione crittografata e garantire che i dati non sicuri non vengano trasmessi al di fuori di essa.

server

Il file di configurazione sshd, situato in /etc/ssh/sshd_config, contiene tutte le modifiche lato server che devono essere apportate.

Per apportare le modifiche, inizia commentando la riga originale con un # iniziale. Puoi anche duplicare qualsiasi riga se necessario e modificarla invece di semplicemente decommentarla in modo che sia più facile per te vedere cosa deve essere cambiato senza dover fare troppo in una volta!

Affinché il port forwarding funzioni correttamente, è necessario consentire il protocollo TCP inserendo "AllowTcpForwarding yes".
Se hai apportato modifiche al file di configurazione del server, ricarica il servizio ssh. Puoi farlo usando "service ssh reload".

Cliente

È possibile utilizzare i tunnel SSH per eseguire molte azioni interessanti, ad esempio quando è necessario eseguire una query in un database che può essere eseguita solo su una macchina diversa. Ciò consente invece di incanalare la connessione attraverso l'altra macchina.

5) Inoltro X11

È possibile utilizzare una connessione SSH per inoltrare i pacchetti X11 in modo che l'ambiente desktop del computer remoto venga visualizzato sul computer locale. Questo è ottimo per risparmiare tempo quando si utilizza la GUI per un programma specifico.

Prerequisiti

L'installazione di xauth è il primo passo per implementare l'inoltro X11 sul tuo server. Se vuoi provarlo, assicurati che sia stato installato anche xclock prima di procedere.

server

Il primo passo è consentire a X11Forwarding di cercare "X11Forwarding" nel tuo /etc/ssh/sshd_config, quindi impostarlo su "yes".

Cliente

L'inoltro X11 dal server alla macchina client è stato configurato e dovresti essere in grado di vedere un orologio sul desktop quando digiti "xclock".

6) ProxyJump

Molte persone usano SSH per connettersi ai bastioni (il primo host di salto) e poi passare ad altri dispositivi. Il bastione è il primo host di salto.

Per semplificare le cose alle persone che non sono esperte di tecnologia, ProxyJump potrebbe essere la soluzione perfetta. Semplifica l'accesso al tuo server utilizzando un jump host e può anche fornire un ulteriore livello di sicurezza nel caso in cui qualcuno tenti di hackerare uno che non vuoi essere esposto pubblicamente.

Supponiamo che tu sia un utente domestico con due router, uno su ciascun lato della rete. Un caso d'uso per questo sarebbe avere una macchina extra che funge da gateway bastion o server VPN di fronte a quei dispositivi in ​​modo che le persone possano accedere ad altri computer senza avere accesso tramite gli indirizzi IP di entrambi i router.

Questo potrebbe tornare utile quando si gestiscono connessioni private pur essendo in grado di avviare vari servizi, come i client OpenVPN da casa nostra, se necessario!


Conclusione

In conclusione, ci sono un sacco di cose che puoi fare con SSH. Ciò include la prevenzione del timeout della sessione, il tunneling dei dati attraverso un server, l'inoltro di pacchetti X11 da visualizzare sulla GUI di un'altra macchina e altro ancora.

Se desideri apprendere le nozioni di base su come eseguire un controllo di sicurezza per il tuo codice, dai un'occhiata al link al nostro articolo del blog per scoprire come proteggere il tuo codice!

Correlati: 25 suggerimenti per migliorare la sicurezza di cPanel/WHM.