GNU/Linux >> Linux Esercitazione >  >> Linux

Come configurare SSH su CentOS e RHEL

SSH (Secure Shell) è un protocollo di rete sicuro basato sull'architettura client-server che consente di accedere in modo sicuro a computer/server remoti sulla rete.

SSH è ampiamente utilizzato dagli amministratori di sistema per la connessione a server remoti. Ciò consente agli amministratori di gestire facilmente server e applicazioni da remoto e in modo sicuro da qualsiasi luogo e in qualsiasi momento.

In questa guida, ti mostrerò come configurare e abilitare SSH su sistemi CentOS/RHEL. Con SSH abilitato su questo sistema CentOS, dovresti essere in grado di accedere a questo sistema da altri computer utilizzando il suo indirizzo IP.

Questo tutorial include anche i passaggi per modificare la porta SSH predefinita, disabilitare l'accesso SSH per l'utente root e configurare firewalld per proteggere il tuo server SSH.

Per completare questa guida, assicurati di avere i seguenti requisiti:

  • Un sistema Linux CentOS/RHEL. Puoi installarlo sulla tua macchina fisica/hardware reale, o utilizzando la macchina virtuale tramite KVM/VirtualBox, o utilizzando provider cloud di terze parti come Linode (ma di solito hanno già abilitato SSH).
  • Un utente non root con privilegi sudo/root. Questo utente verrà utilizzato per modificare il sistema. E alla fine, questo utente può essere utilizzato per accedere al tuo server.

Installazione dei pacchetti OpenSSH

OpenSSH è una delle implementazioni software più popolari del protocollo SSH. Viene utilizzato da milioni di server Linux e diventa una parte fondamentale dell'ambiente server. Per impostazione predefinita, OpenSSH è disponibile sulla maggior parte dei repository di distribuzione Linux, inclusi i sistemi CentOS e RHEL.

Prima di iniziare, aggiorna l'indice del tuo pacchetto utilizzando il gestore di pacchetti DNF come di seguito.

sudo dnf check-update

Quindi, installa i pacchetti OpenSSH sui sistemi CentOS/RHEL usando il comando seguente. Questo comando installerà i pacchetti del server OpenSSH, così come il software client OpenSSH.

sudo dnf install openssh-server openssh-clients -y

Al termine dell'installazione di OpenSSH, eseguire il comando seguente per avviare sshd servizio e abilitarlo per l'avvio automatico all'avvio del sistema.

sudo systemctl enable --now sshd

Ora verifica sshd stato del servizio eseguendo il comando seguente.

sudo systemctl status sshd

Riceverai un output come il seguente screenshot. Il sshd il servizio è active (running) .

Configurazione del server SSH

Per impostazione predefinita, la configurazione SSH è disponibile in /etc/ssh directory e il file di configurazione principale è sshd_config . Questo file contiene alcune configurazioni SSH di base, come ListenAddress che determina l'indirizzo IP del servizio SSH in esecuzione, Port per configurare la porta del servizio SSH, i metodi di autenticazione e molto altro.

In questa sezione modificherai la configurazione sshd_config , quindi modificare la porta SSH predefinita e disabilitare l'accesso per l'utente root.

Questa impostazione è consigliata per motivi di sicurezza, è per aumentare la sicurezza del server e ridurre l'attacco di forza bruta contro il tuo server.

Ora apri il file sshd_config usando vi editor o il tuo editor preferito.

sudo vi /etc/ssh/sshd_config

Prima di iniziare a modificare il file, devi sapere che le righe che iniziano con # e le righe vuote vengono interpretate come commenti.

In cima alla riga, cambia la porta SSH predefinita da 22 alla tua porta preferita. Questo tutorial utilizza la porta non standard 2028 per SSH.

Port 2028
⚠️Assicurati di avere un utente non root con accesso sudo già abilitato su questo sistema. Altrimenti, se disabiliti l'accesso come root, potresti non essere in grado di accedere al tuo server da remoto.

Quindi, cambia l'opzione di PermitRootLogin yes a PermitRootLogin no . Questo disabiliterà l'accesso SSH per l'utente root utente. Facoltativamente, puoi aggiungere # all'inizio della riga PermitRootLogin .

PermitRootLogin no

Salva e chiudi il file.

Dopo aver apportato le modifiche, verifica la configurazione SSH, quindi riavvia sshd servizio.

sshd -t
sudo systemctl restart sshd

Ora puoi connetterti al tuo server SSH eseguendo ssh comando qui sotto.

ssh [email protected] -p PORT

Il -p viene utilizzata per specificare la porta del server SSH.

In questa sezione, hai completato la configurazione di base per la protezione del server SSH modificando la porta SSH predefinita e disabilitando l'accesso per la root utente. Inoltre, hai imparato a connetterti al server SSH con una porta non standard. Successivamente, installerai e configurerai il firewall.

Installazione e configurazione di Firewalld

Se stai utilizzando il server CentOS/RHEL su Internet pubblico, ad esempio un server cloud, potrebbe essere necessario abilitare il firewall. Ciò aumenterà la sicurezza del tuo server, limitando l'accesso solo a servizi specifici come SSH, HTTP e HTTPS. Nella distribuzione basata su CentOS/RHEL, firewalld è il pacchetto firewall predefinito che puoi installare sul tuo sistema.

In questa sezione, installerai firewalld e configurerai le sue porte aperte per il tuo server SSH.

Per installare firewalld, esegui dnf comando qui sotto.

sudo dnf install firewalld -y

Al termine dell'installazione di firewalld, avviare e abilitare firewalld servizio. Quindi verifica il suo stato eseguendo il comando seguente.

sudo systemctl enable --now firewalld
sudo systemctl status firewalld

Riceverai un output simile come lo screenshot qui sotto. Il firewalld il servizio è active (running) .

Per interagire con firewalld, puoi usare il comando firewall-cmd . È l'interfaccia della riga di comando per la gestione delle regole firewalld. Puoi usare firewall-cmd per aggiungere, rimuovere e modificare regole firewalld. E ci sono molte altre cose che puoi fare usando firewall-cmd .

Ora, per aggiungere la porta SSH personalizzata al tuo sistema, esegui firewall-cmd comando qui sotto.

sudo firewall-cmd --add-port=2028/tcp --permanent

Riceverai l'output success , il che significa che l'operazione è riuscita e completata.

Questo esempio utilizza la porta 2028 come porta SSH personalizzata. e il servizio SSH è in esecuzione sulla porta TCP, quindi è necessario specificare la porta e il protocollo come 2028/tcp . L'opzione --permanent rende questa regola permanente.

Quindi, ricarica le regole firewalld per applicare una nuova configurazione utilizzando il comando seguente.

sudo firewall-cmd --reload

Hai aggiunto la porta personalizzata SSH al firewalld. Esegui il comando seguente per elencare tutte le regole abilitate.

sudo firewall-cmd --list-all

Ora vedrai un elenco di regole abilitate in firewalld. I servizi SSH, Cockpit e dhcp sono abilitati per impostazione predefinita.

Per rimuovere la regola SSH predefinita, esegui firewall-cmd comando qui sotto. Quindi ricarica nuovamente le regole del firewall.

sudo firewall-cmd --permanent --remove-service=ssh
sudo firewall-cmd --reload

Ora hai completato l'installazione e la configurazione di firewalld per proteggere il tuo server SSH.

Conclusione

In questa guida, hai completato l'installazione e la configurazione di SSH sul sistema CentOS/RHEL. Hai protetto il tuo server SSH modificando la porta predefinita e disabilitando l'accesso per il root utente. Inoltre, hai completato l'installazione e la configurazione del firewall sul sistema CentOS/RHEL per la protezione del server SSH.

Facci sapere se hai domande.


Linux
  1. Configura il server DHCP su CentOS 8 - Come farlo?

  2. Come configurare VSFTPD su CentOS 8

  3. Come creare un banner SSH nel server CentOS/RHEL

  4. CentOS / RHEL 7:come impostare la destinazione predefinita (runlevel predefinito)

  5. CentOS / RHEL:come configurare SFTP chroot jail

Come configurare un server OpenVPN su CentOS 7

Come installare il server Redis su CentOS 8 / RHEL 8

Come configurare il server NFS su CentOS 8 / RHEL 8

Come configurare il server DHCP su CentOS 8

Come configurare un server TeamSpeak su CentOS 7

Come configurare un server Minecraft su CentOS 7