Il file SSHD_Config Guida completa per Linux

Il file SSHD_Config Guida completa per Linux

Il protocollo SSH o Secure Shell viene utilizzato per l'accesso a distanza in una macchina ed eseguire comandi sulla macchina remota. I dati trasferiti utilizzando il protocollo SSH sono crittografati con algoritmi speciali che rendono SSH più sicuro di Telnet. Fondamentalmente, OpenSsh è uno strumento che implementa questo protocollo.

Cosa copriremo?

In questa guida, esploreremo i diversi aspetti del file di configurazione del server OpenSSH. Iniziamo ora.

File di configurazione OpenSSH

Ci sono alcuni file di base sia per il client e il server OpenSSH. Ha due tipi di file di configurazione:

1. File relativi al lato client: uno dei file è ssh_config. È un file di configurazione a livello di sistema. Questo file si trova a /etc/ssh/ssh_config.

L'altro file è config che è un file di configurazione specifico per l'utente situato a $ home/.ssh/config.

Il programma SSH su un host prende la configurazione da questi file o tramite l'interfaccia della riga di comando. Nel caso dei file precedentemente menzionati, il file di configurazione a livello di sistema, che è SSH_Config, viene data la priorità sul file "config" specifico per l'utente.

2. sshd_config: è correlato al lato server. Il server OpenSSH legge questo file quando inizia.

Esplorare il sshd File di configurazione

Il file di configurazione sshd contiene molte direttive che possono anche essere personalizzate. Diamo un'occhiata al layout predefinito di questo file:

$ cat/etc/ssh/sshd_config


# Questo è il file di configurazione a livello di sistema SSHD. Vedere

# sshd_config (5) per ulteriori informazioni.

Porta 222
Ascolta Address 0.0.0.0
Ascoltaddress ::
HostKey/etc/ssh/ssh_host_key
ServerKeyBits 768
Logingracetime 600
Keyregenerationinterval 3600
Per altirootlogin Sì
IGNorerhosts Sì
Strictmodes sì
X11forwarding n
Consentire NO
Perdite n
X11Displayoffset 10
PrintMotd Sì
Keepalive Sì
Syslogfacility auth
Informazioni loglevel
Rhostsauthentication n
Rhostsraaauthentication n
Rsaauthentication Sì
Passwordautenticazione Sì
AmistEmptyPasswords n
CheckMail n


Qualsiasi riga che inizia con "#" è presa come commento. Esploriamo alcuni dei parametri dati:

1. La direttiva porta specifica un numero di porta. Questo è il numero di porta su cui il sshd ascolta le connessioni. Il valore predefinito per questa porta è 22 che è quello standard. Tuttavia, nel nostro caso, l'abbiamo cambiato in 222.

Inoltre, possiamo specificare più di una direttiva di porta. In questo modo, possiamo usare più porte per ascoltare le connessioni SSHD.

2. L'ascolto contiene l'indirizzo IP per ascoltare. L'azione predefinita è ascoltare tutto l'indirizzo IP associato al server. Si noti inoltre che la direttiva porta deve avere successo nella direttiva ADSOGEDDRES.

3. Il percorso completamente qualificato del file di chiave host RSA privato è specificato dalla direttiva HostKey. Nel caso precedente, il percorso è /etc/ssh/ssh_host_key.

4. La direttiva permessirootlogin consente l'accesso al root per sshd quando è impostata su sì. Questo dovrebbe essere impostato su no a meno che gli host.Consenti e host.I file Deny vengono utilizzati per limitare l'accesso SSHD.

5. La direttiva X11Forwarding consente l'inoltro del sistema di finestra X quando è impostata su Sì.

6. Quale struttura syslog che il sshd dovrebbe essere specificato l'uso utilizzando la direttiva SyslogFacility. Mantieni il valore predefinito così com'è.

7. Il livello di registrazione per syslog è specificato utilizzando la direttiva loglevel.

Cambiando il sshd Porta

Per impostazione predefinita, il sshd o OpenSsh Server Daemon utilizza la porta 22 del protocollo TCP. Si consiglia di modificare questo numero di porta in qualche altro valore in un ambiente di test. Questo ci assicura che la connettività del server è sempre disponibile.

Inoltre, è una buona pratica controllare la sintassi della configurazione di un nuovo file sshd_config prima di usarlo, indipendentemente da quale porta esegue. Per controllare la sintassi, possiamo usare il seguente comando:

$ sshd -t


È anche importante notare che solo l'utente root dovrebbe essere in grado di leggere e scrivere su questo file. Ciò significa che se un file di configurazione SSHD_CONFIG è correttamente protetto, l'esecuzione del comando precedente necessita dell'autorità radicale.

Se non viene visualizzato alcun output quando si esegue il comando di verifica della sintassi precedente, significa che il file va bene.

Modifica del file di configurazione e della porta predefiniti

In alcuni casi, vogliamo eseguire una nuova istanza di sshd su una porta diversa. Ciò può essere dovuto al fatto che la porta 22 è già in uso o potrebbero esserci alcune aree di rischio nel cambiare questo porto in un ambiente di produzione. In tali tipi di situazioni, possiamo creare un file di configurazione alternativo per il nostro server.

Creiamo un nuovo file sshd_config come sshd_config_new. Questo file può essere utilizzato per alcuni parametri di server diversi. Ora, specifichiamo questo file da considerare come il nuovo file di configurazione del server sul numero di porta 100:

$ sudo/usr/sbin/sshd -f/etc/ssh/sshd_config_new -p 100


Il demone SSHD ora ascolta sulla porta 100. Possiamo usare qualsiasi valore di porta ma non quello che è già in uso.

Ora, controlliamo se la nostra nuova porta funziona come desiderato. Per questo, dobbiamo utilizzare un programma client SSH ed eseguire il seguente comando:

$/usr/bin/ssh -p 100



L'opzione "-P" specifica la porta 100 da utilizzare sul server remoto. Nel caso in cui stiamo testando a livello locale, possiamo utilizzare l'IP del server per essere l'IP localhost:

$/usr/bin/ssh -p 100 127.0.0.1

Risoluzione dei problemi di configurazione OpenSSH

A volte, il nostro server non funziona come desiderato. In tali casi, possiamo utilizzare il flag "-D" per risolvere i problemi della configurazione del server OpenSSH. Utilizzando il flag "-d", il server inserisce la modalità di debug e gestisce una sola connessione.

L'output che viene prodotto in modalità debug è verbosio. Possiamo usare più flag "-D" per aumentare il livello di debug. Eseguiamo il comando di debug sul nostro server utilizzando il nuovo file di configurazione:

$/usr/sbin/sshd -d -p 100 -f/etc/ssh/sshd_config_new


L'output dai precedenti registri dei comandi a Stderr invece di utilizzare la struttura di auth di syslogd.

Conclusione

OpenSsh Daemon o SSHD è una parte cruciale di molte infrastrutture amministrative. In quanto tale, richiede competenze per gestirlo per un funzionamento ottimale. In questo articolo, abbiamo appreso il file di configurazione del server OpenSSH come SSHD_CONFIG.