Comandi utili SSH

«
»

SSH (Secure Shell) è un protocollo di rete che consente di accedere a un computer remoto in modo sicuro. Ecco una lista di comandi utili per lavorare con SSH:

1. Connessione SSH

Per connettersi a un server remoto tramite SSH:

ssh [utente]@[indirizzo_ip_o_hostname]

Esempio:

ssh user@192.168.1.10
  • Se la porta non è la predefinita (22), puoi specificarla con l’opzione -p:
    ssh -p 2222 user@192.168.1.10

2. Usare una chiave privata (key-based authentication)

Per connettersi utilizzando una chiave privata invece della password:

ssh -i /percorso/della/chiave_privata [utente]@[indirizzo_ip_o_hostname]

3. Autenticazione tramite agente SSH

Se hai una chiave privata già caricata nell’agente SSH, puoi semplicemente connetterti senza specificare -i:

ssh [utente]@[indirizzo_ip_o_hostname]

4. Commutazione utente (con su o sudo)

Dopo esserti connesso, puoi cambiare utente:

  • Con su (se hai la password dell’utente):
    su - nome_utente
  • Con sudo (se hai permessi sudo):
    sudo su - nome_utente

5. Visualizzare le chiavi pubbliche SSH

Per visualizzare la chiave pubblica associata alla tua chiave privata:

cat ~/.ssh/id_rsa.pub

6. Copiare una chiave pubblica su un altro server

Puoi copiare la tua chiave pubblica sul server remoto per configurare l’autenticazione con chiave:

ssh-copy-id -i ~/.ssh/id_rsa.pub [utente]@[indirizzo_ip_o_hostname]

7. Esegui un comando remoto

Per eseguire un comando remoto senza entrare in modalità interattiva:

ssh [utente]@[indirizzo_ip_o_hostname] 'comando'

Esempio:

ssh user@192.168.1.10 'ls -la'

8. Port forwarding (tunneling)

SSH ti permette di fare port forwarding per creare tunnel sicuri tra il client e il server.

  • Forwarding di una porta locale:
    ssh -L [porta_locale]:[indirizzo_destinazione]:[porta_destinazione] [utente]@[indirizzo_ip_o_hostname]

    Esempio:

    ssh -L 8080:localhost:80 user@192.168.1.10

    Questo comando inoltra la porta locale 8080 alla porta 80 del server remoto.

  • Forwarding di una porta remota:
    ssh -R [porta_remota]:[indirizzo_locale]:[porta_locale] [utente]@[indirizzo_ip_o_hostname]

    Esempio:

    ssh -R 9090:localhost:3000 user@192.168.1.10

9. Commutare tra sessioni SSH (Mosh)

Puoi usare strumenti come Mosh per avere una connessione SSH persistente anche se la tua connessione internet viene interrotta. Mosh si connette attraverso la porta 60000-61000 di default:

mosh [utente]@[indirizzo_ip_o_hostname]

10. Impostare il timeout della connessione

Puoi usare le opzioni ServerAliveInterval e ServerAliveCountMax per evitare che la connessione SSH venga chiusa da inattività:

ssh -o ServerAliveInterval=60 -o ServerAliveCountMax=3 [utente]@[indirizzo_ip_o_hostname]

11. Scaricare e caricare file con scp (Secure Copy)

  • Copiare un file dal client al server:
    scp /percorso/del/file [utente]@[indirizzo_ip_o_hostname]:/percorso/destinazione

    Esempio:

    scp file.txt user@192.168.1.10:/home/user/
  • Copiare un file dal server al client:
    scp [utente]@[indirizzo_ip_o_hostname]:/percorso/del/file /percorso/destinazione

    Esempio:

    scp user@192.168.1.10:/home/user/file.txt /local/path/

12. Visualizzare la cronologia delle connessioni SSH

Se hai bisogno di vedere quando qualcuno si è connesso al server, puoi controllare i log SSH:

sudo cat /var/log/auth.log | grep sshd

13. Disconnettersi da una sessione SSH

Per uscire da una sessione SSH:

exit

14. Abilitare la compressione per migliorare la velocità

Puoi abilitare la compressione per ridurre il traffico di rete, utile per connessioni più lente:

ssh -C [utente]@[indirizzo_ip_o_hostname]

15. Visualizzare informazioni di sistema del server remoto

Alcuni comandi utili che puoi eseguire una volta connesso tramite SSH:

  • Visualizzare la memoria disponibile:
    free -h
  • Visualizzare i processi in esecuzione:
    top
  • Controllare l’uso del disco:
    df -h

Questi sono solo alcuni dei comandi più comuni e utili per lavorare con SSH. Naturalmente, le opzioni specifiche dipenderanno dal tuo ambiente e dai tuoi requisiti. Se hai altre domande o necessiti di ulteriori chiarimenti, fammi sapere!

Comandi utili SSH ultima modifica: 2024-12-23T14:24:03+01:00 da Andrea (Xlogic.org)

Lascia un commento

*
*