GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare e abilitare il server OpenSSH su CentOS 8 Linux

SSH sta per Secure Shell. Come suggerisce il nome, SSH ha lo scopo di accedere a Server o Desktop Shell in Windows, macOS, Linux (CentOS, Ubuntu e tutti gli altri) e altri sistemi operativi disponibili in remoto. È fondamentalmente un protocollo di rete, il che significa impostare regole per stabilire una connessione sicura e crittografata tra client e server.

Il vantaggio principale dell'utilizzo di SSH è una trasmissione sicura dei dati su reti non sicure come Internet. È davvero utile connettere computer remoti e accedervi in ​​modo sicuro tramite la riga di comando. Possiamo anche usarlo per trasferire file su reti scettiche. Questo è il motivo per cui la maggior parte dei Data Center e degli Amministratori Cloud lo utilizza per accedere ai server da remoto.

Qui mostreremo i passaggi per installare il server OpenSSH su CentOS 8 Linux. Questo pacchetto software utilizza SSH (Secure Shell protocol) per fornire un canale sicuro sulla rete in un'architettura client-server.

Abilita SSH su CentOS 8 Linux

I passaggi indicati di seguito per l'installazione del server OpenSSH funzioneranno non solo su CetnOS 8 ma anche su versioni precedenti come 7 e 6.

1. Installa il server OpenSSH

Apri il terminale di comando su CentOS 8, se stai utilizzando la versione CLI, sei già lì. L'installazione di OpenSSH è molto semplice in quanto è già presente nel repository ufficiale di CentOS. Quindi, un comando e sarà sulla tua macchina.

sudo dnf –y install openssh-server

Il singolo comando installerà sia il client OpenSSH che il daemonsshd del server sul sistema.

2. Avvia il servizio SSH su CentOS

Dopo l'installazione, dobbiamo avviare il servizio di OpenSSH altrimenti, non saremmo in grado di accedervi tramite alcun strumento client da Windows, Linux o altri sistemi. Tuttavia, dopo averlo attivato con successo, potremmo facilmente connetterci e stabilire una connessione sicura. Quindi, esegui il comando seguente:

Avvia il demone SSH del server OpenSSH:

sudo systemctl start sshd

Nel caso tu voglia interromperlo, il comando sarà

sudo systemctl stop sshd

3. Controlla lo stato di sshd

Per sapere dopo aver avviato il servizio SSH se funziona perfettamente o meno. Esegui il comando:

sudo systemctl status sshd

Vedrai un colore verde "attivo (in esecuzione) ” testo sullo schermo che confermerà che tutto è a posto.

4. Abilita il servizio OpenSSH a livello di avvio

Se desideri avviare SSH automaticamente ogni volta che riavvii il sistema. Quindi utilizzare il comando seguente. Questo assicurerà anche che non sarà necessario avviarlo ogni volta manualmente.

sudo systemctl enable sshd

Per disabilitare in futuro (comando opzioni) esegui:

sudo systemctl disable sshd

5. Consenti firewall porta 22

Nel caso in cui anche dopo aver eseguito tutti i passaggi, non saresti in grado di accedere al server ssh dal client a causa di un firewall, quindi consentirlo. Per consentire l'esecuzione della porta SSH 22 su CentOS 8 Linux:

firewall-cmd --zone=public --add-port=22/tcp --permanent

Riavvia Firewall:

firewall-cmd --reload

6. Connettiti al server SSH

Per connetterti e accedere a CentOS tramite SSH, apri semplicemente un prompt dei comandi in Windows o Terminal in Linux e digita un comando con questa sintassi:

ssh [email protetta]

Ad esempio- diciamo che il nome utente è root e l'indirizzo del server è 192.168.0.12, quindi il comando sarà:

ssh [email protected]

Se hai modificato la porta predefinita 22 a qualcos'altro allora sarà:

ssh [email protetta]:porta

7. Modifica la porta SSh predefinita su CentOS 8/7 (opzionale)

Per impostazione predefinita, la porta utilizzata da SSH è 22 , tuttavia, per migliorare la sicurezza puoi cambiarlo in qualcos'altro. Per quella modifica SSHD file di configurazione.

sudo vi /etc/ssh/sshd_config
  • Ora, trova la riga #port 22
  • Premi Inserisci tasto sulla tastiera.
  • Rimuovi # e cambia sshd 22 port con qualcos'altro, diciamo 5678
  • Per salvare il file, premi Esc chiave e quindi digitare :wq

Riavvia il servizio sshd per rendere effettive le modifiche.

 service sshd restart

Se ricevi un errore:

Redirecting to /bin/systemctl restart sshd.service
Job for sshd.service failed because the control process exited with error code.
See "systemctl status sshd.service" and "journalctl -xe" for details.

Ciò significa che devi concedergli i permessi SELinux informando che hai aggiunto una nuova porta per il servizio.

semanage port -a -t ssh_port_t -p tcp 5678

Nota :sostituisci il 5678 con il numero di porta che hai inserito in sshd file di configurazione sopra

Ancora una volta se ricevi un errore del tipo:

ValueError: Port tcp/5678 already defined

Ciò significa che la porta che stai scegliendo di utilizzare con il servizio SSH è già assegnata o riservata per qualche altro servizio. Pertanto, modifica il numero di porta nel file di configurazione ed esegui nuovamente il comando semange port .

Dopo averlo aggiunto con successo, controlla quali porte sono consentite da SELinux sul tuo sistema per il servizio SSHD:

semanage port -l | grep ssh

Otterrai qualcosa del genere:

ssh_port_t tcp    5678, 22

Infine, hai due porte per un unico servizio.

9. Blocca la porta CentOS predefinita 22

Poiché abbiamo due porte per un singolo servizio Secure Shell, possiamo bloccare quella predefinita che è 22 per permanente. Ciò aumenterà la sicurezza del sistema e ci consentirà di utilizzare solo un numero di porta personalizzato per il servizio.

firewall-cmd --direct --add-rule ipv4 filter INPUT  -p tcp --dport 22 -j REJECT

Ora, consenti il ​​numero di porta personalizzato che hai creato nel firewall, qui nel nostro caso è 5678

firewall-cmd --add-port=5678/tcp --permanent
firewall-cmd --reload

Ora non sarai in grado di connetterti tramite quello predefinito e se provi, avverrà tramite un errore:ssh: connect to host 192.168.0.107 port 22: Connection refused

Per connetterti usando la porta ssh personalizzata, usa questa sintassi del comando:

ssh -p 5678 [email protected]

Nel comando sopra 5678 è il numero di porta, quindi sostituiscilo con quello che hai.

Ad esempio: 

ssh -p 5678 [email protected]

10. Disabilita l'accesso come root (opzionale)

Per aumentare ulteriormente la sicurezza del server, puoi disabilitare l'accesso dell'utente root su SSH. Ciò implica che da remoto si può accedere e controllare il server utilizzando solo utenti non root.

Modifica di nuovo il file di configurazione SSHD:

sudo vi /etc/ssh/sshd_config
  • Usa i tasti freccia e trova la riga:"PermitRootLogin=yes
  • Premi Inserisci tasto sulla tastiera.
  • Cambia il valore "sì con no".
  • Premi Esc chiave e digita- :wq
  • Premi Invio Chiave
 service sshd restart

11. Disinstalla OpenSSH

Per rimuoverlo:

dnf remove openssh-server

Leggi di più:

  • Installa e configura VNC Server su CentOS 8
  • Come installare la GUI sul server CentOS 8 Minimal CLI


Cent OS
  1. Come installare il server DNS su RHEL 8 / CentOS 8 Linux

  2. Come eseguire il debootstrap su CentOS Linux

  3. Come installare o aggiornare a PHP 7 su CentOS 7 Linux Server

  4. Come installare la GUI Gnome sul sistema Linux CentOS 7

  5. Come installare Erlang su Rocky Linux/Alma Linux/CentOS 8

Come installare PostgreSQL su CentOS 8

Come installare OpenSSH su Ubuntu 20.04

Come installare il server OpenSSH su Alpine Linux

Come installare la GUI su CentOS 8 / RHEL 8 Server Linux minimo

Come installare memcaed su CentOS 8 Linux

Come abilitare il servizio SSH su Rocky Linux 8 / CentOS 8