Ricerca nel sito web

Come installare e configurare il server OpenSSH in Linux


Essere un amministratore di rete richiede una conoscenza approfondita dei protocolli di accesso remoto come rlogin, telnet e ssh. Quello di cui parlerò in questo articolo è ssh.

SSH è un protocollo remoto sicuro utilizzato per lavorare in remoto su altre macchine o trasferire dati tra computer utilizzando il comando SCP (Secure Copy). Ma cos'è OpenSSH e come installarlo nella tua distribuzione Linux?

Cos'è OpenSSH?

OpenSSH è un set open source gratuito di strumenti informatici utilizzato per fornire comunicazioni sicure e crittografate su una rete di computer utilizzando il protocollo ssh. Molte persone, nuove ai computer e ai protocolli, creano un'idea sbagliata su OpenSSH, pensano che sia un protocollo, ma non lo è, è un insieme di programmi per computer che utilizzano il protocollo ssh.

OpenSSH è sviluppato dal gruppo Open BSD ed è rilasciato sotto una licenza BSD semplificata. Un fattore principale che ha reso possibile l'utilizzo così diffuso di OpenSSH tra gli amministratori di sistema è la sua capacità multipiattaforma e le sue caratteristiche molto utili.

L'ultima versione è OpenSSH 9.3 che è stata rilasciata il 15 marzo 2023 e include molte nuove funzionalità e patch, quindi se usi già OpenSSH per amministrare le tue macchine, ti suggerisco di fare un aggiornamento o installare ssh dai sorgenti.

Perché utilizzare OpenSSH su Telnet o FTP?

Il motivo più importante per cui si dovrebbero utilizzare gli strumenti OpenSSH su ftp e Telnet è che tutte le comunicazioni e le credenziali utente che utilizzano OpenSSH sono crittografati e sono anche protetti dagli attacchi man-in-middle. Se una terza parte tenta di intercettare la tua connessione, OpenSSH lo rileva e ti informa.

Funzionalità di OpenSSH

  • Comunicazione sicura
  • Crittografia avanzata (3DES, Blowfish, AES, Arcfour)
  • Inoltro X11 (crittografa il traffico del sistema X Window)
  • Port Forwarding (canali crittografati per protocolli legacy)
  • Autenticazione forte (chiave pubblica, password monouso e autenticazione Kerberos)
  • Inoltro agente (Single Sign-On)
  • Interoperabilità (conformità agli standard del protocollo SSH 1.3, 1.5 e 2.0)
  • Supporto client e server SFTP nei protocolli SSH1 e SSH2.
  • Kerberos e Passing ticket AFS
  • Compressione dati

Installa OpenSSH Server su Linux

Per installare OpenSSH, apri un terminale ed esegui i seguenti comandi con autorizzazioni di superutente.

Su Debian/Ubuntu/Linux Mint

Sulle distribuzioni basate su Debian, puoi utilizzare il seguente comando apt per installare il server e il client openssh come mostrato.

sudo apt install openssh-server openssh-client

Su RHEL/Centos/Fedora

Nella distribuzione basata su RedHat, digitare il seguente comando yum per installare il server e il client openssh.

yum -y install openssh-server openssh-clients

Configura il server OpenSSH in Linux

È ora di configurare il nostro comportamento OpenSSH tramite il file ssh config, ma prima di modificare il file /etc/ssh/sshd_config dobbiamo eseguire il backup una copia dello stesso, così nel caso commettessimo qualche errore avremo la copia originale.

Apri un terminale ed esegui il seguente comando cp per creare una copia del file di configurazione sshd originale.

sudo cp /etc/ssh/sshd_config  /etc/ssh/sshd_config.original_copy

Come puoi vedere dal comando che ho digitato, ho aggiunto il suffisso original_copy, quindi ogni volta che vedo questo file so che è una copia originale del file di configurazione sshd.

Come posso connettermi a OpenSSH

Prima di andare oltre, dobbiamo verificare se il nostro server openssh funziona o meno. Come farlo? Puoi provare a connetterti al server openssh dal tuo localhost tramite il tuo clientopenssh o eseguire un portscan con nmap, ma mi piace usare un piccolo strumento chiamato netcat, noto anche come coltellino svizzero TCP/IP . Adoro lavorare con questo fantastico strumento sulla mia macchina, quindi lascia che te lo mostri.

nc -v -z 127.0.0.1 22

Facendo riferimento ai risultati netcat, il servizio ssh è in esecuzione sulla porta 22 sul mio computer. Molto bene! Cosa succede se vogliamo utilizzare un'altra porta, invece di 22? Possiamo farlo modificando il file di configurazione sshd.

Cambia porta SSH

Imposta OpenSSH in modo che ascolti sulla porta TCP 13 anziché sulla porta TCP predefinita 22. Apri il file sshd_config con il tuo editor di testo preferito e modifica la direttiva della porta in 13.

Port 13

Riavvia il server OpenSSH in modo che le modifiche nel file di configurazione possano avere luogo digitando il seguente comando ed eseguendo netcat per verificare se la porta impostata per l'ascolto è aperta o meno.

sudo systemctl restart sshd

Dovremmo verificare se il nostro server openssh è in ascolto sulla porta 13 oppure no? Questa verifica è necessaria, quindi chiamo il mio adorabile strumento netcat per aiutarmi a svolgere il lavoro.

nc -v -z 127.0.0.1 13

Ti piace fare in modo che il tuo server openssh visualizzi un bel banner di accesso? Puoi farlo modificando il contenuto del file /etc/issue.net.

nano /etc/issue.net

Incolla il seguente messaggio banner.

Authorized access only!

If you are not authorized to access or use this system, disconnect now!

Successivamente, aggiungi la seguente riga all'interno del file di configurazione sshd.

Banner /etc/issue.net

Dopo aver apportato modifiche alla configurazione SSH, assicurati di riavviare.

sudo systemctl restart sshd
Conclusione

Ci sono molte cose che puoi fare con gli strumenti openssh quando si tratta di configurare il tuo serveropenssh, posso dire che la tua immaginazione è il limite!