Le fichier sshd_config Guide complet pour Linux

Le fichier sshd_config Guide complet pour Linux

Le protocole SSH ou Secure Shell est utilisé pour se connecter à distance à une machine et en cours d'exécution sur la machine distante. Les données transférées à l'aide du protocole SSH sont chiffrées avec des algorithmes spéciaux qui rend SSH plus sécurisé que Telnet. Fondamentalement, OpenSSH est un outil qui implémente ce protocole.

Que couvrirons-nous?

Dans ce guide, nous explorerons les différents aspects du fichier de configuration du serveur OpenSSH. Commençons maintenant.

Fichiers de configuration OpenSSH

Il existe des fichiers de base pour le client et le serveur OpenSSH. Il a deux types de fichiers de configuration:

1. Fichiers liés au côté client: l'un des fichiers est ssh_config. Il s'agit d'un fichier de configuration à l'échelle du système. Ce fichier est situé à / etc / ssh / ssh_config.

L'autre fichier est une configuration qui est un fichier de configuration spécifique à l'utilisateur situé à $ home /.ssh / config.

Le programme SSH sur un hôte prend la configuration à partir de ces fichiers ou via l'interface de ligne de commande. Dans le cas des fichiers mentionnés précédemment, le fichier de configuration à l'échelle du système, qui est SSH_CONFIG, reçoit la priorité sur le fichier «config» spécifique à l'utilisateur.

2. sshd_config: il est lié au côté serveur. Le serveur OpenSSH lit ce fichier quand il démarre.

Exploration du SSHD Fichier de configuration

Le fichier de configuration SSHD contient de nombreuses directives qui peuvent également être personnalisées. Regardons la disposition par défaut de ce fichier:

$ cat / etc / ssh / sshd_config


# Ceci est le fichier de configuration du système SSHD Server à l'échelle. Voir

# sshd_config (5) pour plus d'informations.

Port 222
Écouteraddress 0.0.0.0
ÉcouteraDdress ::
Hostkey / etc / ssh / ssh_host_key
ServerKeyBits 768
Loggeracetime 600
KeyRegenerationInterval 3600
Permutrootlogin oui
Ignorershosts oui
Strictsmodes oui
X11 pour non
Autorisation
Permitté non
X11displayoffset 10
Printmotd oui
Keepalive Oui
Auth
Infos Loglevel
RHOSTAUTHENTIFICATION NON
Rhostsrsaauthentication non
Rsaauthentication oui
PasswordAuthentication Oui
Pertinermptypasswords non
Vérifiez non


Toute ligne qui commence par «#» est considérée comme un commentaire. Explorons certains des paramètres donnés:

1. La directive portuaire spécifie un numéro de port. Ceci est le numéro de port sur lequel le SSHD écoute des connexions. La valeur par défaut de ce port est 22, ce qui est le standard. Cependant, dans notre cas, nous l'avons changé en 222.

De plus, nous pouvons spécifier plus d'une directive portuaire. De cette façon, nous pouvons utiliser plusieurs ports pour écouter sur les connexions SSHD.

2. Le ListenAddress contient l'adresse IP pour écouter sur. L'action par défaut consiste à écouter sur toute l'adresse IP qui est liée au serveur. Notez également que la directive portuaire doit succéder à la directive d'écoute.

3. Le chemin entièrement qualifié du fichier de clé hôte RSA privé est spécifié par la directive HostKey. Dans le cas précédent, le chemin est / etc / ssh / ssh_host_key.

4. La directive permutrootlogine permet la connexion racine pour SSHD lorsqu'elle est définie sur oui. Cela devrait être défini sur non à moins que les hôtes.Autoriser et les hôtes.Les fichiers nier sont utilisés pour restreindre l'accès SSHD.

5. La directive X11Forwing autorise le transfert du système de fenêtre X lorsqu'il est réglé sur oui.

6. Quelle installation syslog que le SSHD Devrait utiliser est spécifié à l'aide de la directive syslogfactility. Gardez la valeur par défaut telle quel.

7. Le niveau de journalisation de Syslog est spécifié à l'aide de la directive Loglevel.

Changer le SSHD Port

Par défaut, le SSHD ou OpenSSH Server Daemon utilise le port 22 du protocole TCP. Il est recommandé de changer ce numéro de port en une autre valeur dans un environnement de test. Cela nous assure que la connectivité du serveur est disponible tout le temps.

De plus, il est de bonne pratique de vérifier la syntaxe de la configuration d'un nouveau fichier sshd_config avant de l'utiliser, quel que soit le port, il s'exécute. Pour vérifier la syntaxe, nous pouvons utiliser la commande suivante:

$ sshd -t


Il est également important de noter que seul l'utilisateur racine devrait être en mesure de lire et d'écrire dans ce fichier. Cela signifie que si un fichier de configuration SSHD_CONFIG est correctement sécurisé, l'exécution de la commande précédente a besoin d'autorité racine.

Si aucune sortie n'apparaît lors de l'exécution de la commande de vérification de syntaxe précédente, cela signifie que le fichier est correct.

Modification du fichier et du port de configuration par défaut

Dans certains cas, nous voulons exécuter une nouvelle instance de SSHD sur un port différent. Cela peut être dû au fait que le port 22 est déjà utilisé ou qu'il peut y avoir des zones de risque dans la modification de ce port dans un environnement de production. Dans de tels types de situations, nous pouvons créer un fichier de configuration alternatif pour notre serveur.

Créons un nouveau fichier sshd_config comme sshd_config_new. Ce fichier peut être utilisé pour différents paramètres de serveur. Maintenant, spécifions que ce fichier soit considéré comme le nouveau fichier de configuration du serveur sur le numéro de port 100:

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


Le démon sshd écoute désormais sur le port 100. Nous pouvons utiliser n'importe quelle valeur de port mais pas celle qui est déjà utilisée.

Maintenant, vérifions si notre nouveau port fonctionne comme vous le souhaitez. Pour cela, nous devons utiliser un programme client SSH et exécuter la commande suivante:

$ / usr / bin / ssh -p 100



L'option «-p» spécifie le port 100 à utiliser sur le serveur distant. Dans le cas où nous testons localement, nous pouvons utiliser l'IP du serveur pour être l'IP localhost:

$ / usr / bin / ssh -p 100 127.0.0.1

Dépannage de la configuration OpenSH

Parfois, notre serveur ne fonctionne pas comme vous le souhaitez. Dans de tels cas, nous pouvons utiliser l'indicateur «-d» pour dépanner la configuration du serveur OpenSSH. À l'aide de l'indicateur «-d», le serveur entre dans le mode de débogage et ne gère qu'une seule connexion.

La sortie produite en mode débogage est verbeuse. Nous pouvons utiliser plus de drapeaux «-d» pour augmenter le niveau de débogage. Exécutons la commande de débogage sur notre serveur à l'aide du nouveau fichier de configuration:

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


La sortie des journaux de commande précédents à Stderr au lieu d'utiliser l'installation d'authentique de syslogd.

Conclusion

OpenSSH Daemon ou SSHD est une partie cruciale de nombreuses infrastructures d'administration. En tant que tel, cela nécessite une expertise pour le gérer pour un fonctionnement optimal. Dans cet article, nous avons appris le fichier de configuration du serveur OpenSSH comme sshd_config.