GNU/Linux >> Linux Esercitazione >  >> Debian

Come gestire in remoto un server Linux con SSH

SSH sta per Secure Shell ed è un protocollo utilizzato per accedere in modo sicuro a un server remoto su una rete locale o Internet per la configurazione, la gestione, il monitoraggio e la risoluzione dei problemi, ecc.

In questo articolo, parlerò di come gestire un server Linux remoto con l'aiuto di SSH.

Ho eseguito tutti i comandi sulle mie macchine Debian 10.

Prerequisiti

Devi avere quanto segue.

  1. Due macchine Debian 10 con privilegi di root.
  2. Un indirizzo IP, nome utente e password della macchina remota.
  3. Connessione a Internet su entrambe le macchine.

Come si installa un server SSH aperto?

Dopo aver configurato una nuova macchina Linux nella tua infrastruttura, è importante prepararla per l'accesso remoto. Pertanto, è obbligatorio installare open ssh su un server o una macchina remota a cui stai tentando di accedere.

Prima di installare un server SSH aperto, esegui il comando seguente per aggiornare il repository.

apt-get update

Attendi il completamento dell'operazione.

Dopo aver aggiornato il repository, esegui il seguente comando con privilegi di root per installare un server SSH aperto.

apt-get install openssh-server

Quando ti viene chiesta conferma, premi 'y' dalla tastiera e attendi il termine dell'installazione. Il completamento dell'operazione potrebbe richiedere diversi minuti.

Configurazione delle impostazioni del server SSH

Una volta che Open SSh è stato installato sul lato server, possiamo modificare le sue impostazioni di configurazione di base. Apri il terminale ed esegui il seguente comando con privilegi di root.

nano /etc/ssh/sshd_config

Quello che segue è l'output di esempio.

Puoi modificare i vari parametri nel file sopra.

Per impostazione predefinita, SSH è in ascolto sulla porta 22. Puoi passare alla porta desiderata. Puoi anche modificare le sessioni massime (MaxSessions) che possono essere stabilite con il server contemporaneamente, 10 è il valore predefinito.

Modifica della porta SSH del server

Come abbiamo discusso, il server è in ascolto sulla porta 22 per impostazione predefinita. Se vuoi configurare il tuo server per ascoltare una porta specifica, ecco la procedura.

Apri il terminale ed esegui il seguente comando con privilegi di root.

nano /etc/ssh/sshd_config

Un file dovrebbe essere aperto come mostrato nella schermata sopra.

Individua la Porta 22 o la #Porta 22 e digita il numero di porta desiderato senza il segno #.

Si consiglia di utilizzare il numero di porta compreso tra 1024 e 65535 perché le porte 0-1023 sono riservate a servizi specifici.

Si supponga di assegnare 2222, scrivere quanto segue nel file di configurazione SSH.

Port 2222

Di seguito è riportato l'output di esempio dopo aver modificato il numero di porta.

Riavvia il servizio SSH eseguendo il comando seguente sul terminale.

service ssh restart

Abilitazione dell'accesso root sul server SSH

Per impostazione predefinita, per motivi di sicurezza non è possibile accedere direttamente al server SSH con privilegi di root. Se vuoi abilitare questo accesso, devi apportare modifiche al file di configurazione del server SSH.

Apri il terminale ed esegui il seguente comando con privilegi di root per aprire il file di configurazione.

nano /etc/ssh/sshd_config

Aggiungi la seguente riga nel blocco di autenticazione,

PermitRootLogin sì

Di seguito è riportato l'output di esempio dopo aver apportato modifiche al file di configurazione.

Riavvia il servizio SSH eseguendo il comando seguente sul terminale con privilegi di root.

service ssh restart

Ridurre i tentativi di accesso falliti al server SSH

Per impostazione predefinita, puoi effettuare 6 tentativi di accesso al server SSH. Quando il valore raggiunge la metà di 6, vengono registrati ulteriori errori di accesso. Se vuoi modificare questo valore, devi modificare il parametro MaxAuthTries nel file di configurazione del server SSH.

Apri il terminale ed esegui il seguente comando con privilegi di root.

Aggiungi la riga seguente (supponi di voler impostare questo valore su 1) nel blocco Autenticazione.

MaxAuthTries 1

Di seguito è riportato l'output di esempio dopo aver apportato modifiche al file.

Riavvia il servizio SSH eseguendo il comando seguente sul terminale con privilegi di root.

service ssh restart

Di seguito è riportato l'output di esempio.

Dopo un singolo errore di accesso, riceverai troppi messaggi di errore di autenticazione come mostrato nella schermata seguente.

Forzare il server SSH ad ascoltare IP specifici

Per impostazione predefinita, il server SSH ascolta tutti gli IP assegnati al tuo server SSH. Tuttavia, apportando modifiche al file di configurazione, puoi forzare il tuo server SSH ad ascoltare IP specifici. Ecco come.

Supponiamo di avere due indirizzi IP (10.1.1.2 e 10.1.1.3) assegnati alla mia interfaccia come mostrato nella schermata seguente. Voglio forzare il mio server ad ascoltare l'indirizzo IP 10.1.1.2.

Apri il terminale ed esegui il comando seguente con i privilegi di root per aprire il file di configurazione SSH.

nano /etc/ssh/sshd_config

Aggiungi la riga seguente nella parte superiore del file,

ListenAddress 10.1.1.2

Di seguito è riportato l'output di esempio dopo aver apportato modifiche al file di configurazione.

Riavvia il servizio SSH eseguendo il comando seguente sul terminale.

servizio ssh riavvio

Consentire o negare a utenti o gruppi specifici di accedere al server SSH

Per impostazione predefinita, ogni utente può accedere in remoto al server SSH. Tuttavia, puoi consentire o negare a utenti o gruppi specifici di accedere al server SSH.

Apri il terminale ed esegui il comando seguente con i privilegi di root per aprire il file di configurazione del server SSH.

nano /etc/ssh/sshd_config

Di seguito è riportato l'output di esempio.

Supponiamo di voler consentire solo all'utente "tony" di accedere in remoto al server SSH. Nessun altro utente potrà accedere al server SSH. Se hai più utenti, dovrebbero essere separati da uno spazio.

Aggiungi la seguente riga nel file di configurazione del server SSH.

AllowUsers tony

Di seguito è riportato il file di configurazione di esempio dopo aver aggiunto la riga,

Riavvia il servizio SSH eseguendo il comando seguente con privilegi di root sul terminale,

service ssh restart

Allo stesso modo, se si desidera consentire a tutti gli utenti di connettersi in remoto al server SSH ma si desidera negarne uno o più, aggiungere le seguenti righe nel file di configurazione del server. Gli utenti dovrebbero essere separati da un comando. Supponiamo di voler negare solo all'utente 'tony', aggiungere la seguente riga nel file di configurazione del server.

DenyUsers tony

Di seguito è riportato il file di configurazione di esempio dopo aver aggiunto la riga precedente.

Riavvia il servizio SSH eseguendo il comando seguente con privilegi di root sul terminale.

service ssh restart

Allo stesso modo, puoi consentire e negare a gruppi di utenti di accedere al server SSH aggiungendo le seguenti righe nel file di configurazione.

AllowGroups <groupname>

o

DenyGroups <groupname>

Se hai più gruppi da consentire o negare, puoi separarli con uno spazio.

La combinazione di consentire e negare elaborata nell'ordine seguente.

DenyUsers, AllowUsers, DenyGroups e infine AllowGroups

Modifica dell'ora di accesso

Per impostazione predefinita, hai 2 minuti per accedere a un server remoto dopo SSH. Se non riesci ad accedere a un server remoto entro 2 minuti, SSH si disconnetterà. Ecco come modificare il tempo di grazia per l'accesso.

Apri il terminale ed esegui il seguente comando con privilegi di root per aprire il file di configurazione del server.

nano /etc/ssh/sshd_config

Di seguito è riportato l'output di esempio.

Individua la riga seguente,

#LoginGraceTime 2m

Sostituisci questa riga con il tempo di grazia desiderato, diciamo 1 minuto. La riga completa dovrebbe essere,

LoginGraceTime 1m

Di seguito è riportato il file di configurazione di esempio dopo aver apportato le modifiche.

Chiudere il file e riavviare il servizio SSH eseguendo il comando file.

service ssh restart

Come installare il client OpenSSH

La macchina Debian 10 che accederà a una macchina o server remoto è chiamata client e su di essa è necessario installare "client SSH aperto".

Apri il terminale ed esegui il seguente comando per aggiornare il repository.

apt-get update

Attendi il completamento dell'operazione.

Non appena il repository viene aggiornato, esegui il comando seguente per installare un client SSH aperto.

apt-get install openssh-client

Quando viene richiesta la conferma, premere Y dalla tastiera. L'installazione potrebbe richiedere diversi minuti, quindi si prega di pazientare.

Esegui il comando seguente sia sul client che sul server per confermare che il servizio SSH è in esecuzione.

Una volta che SSH è in esecuzione su client e server su una macchina remota, possiamo procedere con la gestione remota.

Connessione al server Debian 10 remoto con SSH

Per connetterti alla macchina remota Debian 10, devi avere il suo indirizzo IP, nome utente e password.

Di seguito è riportata la sintassi completa del comando se il server SSH è in ascolto sulla porta predefinita 22.

ssh <[email protetta]>

Ti verrà richiesta una password utente, fornisci l'aiuto della tastiera e premi Invio.

Supponiamo che l'utente sia tony e che l'indirizzo IP della macchina remota sia 10.1.1.2. Esegui il seguente comando sul terminale.

ssh [email protected]

Di seguito è riportato l'output di esempio.

Ora dovresti essere connesso in modo sicuro come mostrato nello screenshot sopra.

Tuttavia, se il tuo server SSH è in ascolto su un'altra porta (supponiamo 2222). La sintassi completa del comando dovrebbe essere la seguente.

ssh -p indirizzo [email protetto]

Supponiamo che l'utente sia tony e che l'indirizzo IP della macchina remota sia 10.1.1.2. Esegui il seguente comando sul terminale.

ssh -p 2222 [email protected]

Conclusione

Quindi questo è stato il tutorial sulla gestione remota di un server Linux con SSH. Spero ti sia piaciuto.


Debian
  1. Come SSH su Linux da Android

  2. Come abilitare il server SSH su Ubuntu 22.04 Jammy Linux

  3. Come configurare il tunnel SSH inverso su Linux

  4. Come registro il server Linux con il server DNS di Windows

  5. Come installare Linux da remoto tramite SSH?

Come gestire le versioni di Nodejs con n in Linux

Come gestire il file system Linux su Ubuntu Server

Come gestire in remoto il server Ubuntu con SSH

Come eseguire l'SSH sul server tramite Linux

Come gestire l'archiviazione con GParted Linux

Come proteggere SSH con Fail2Ban