Le guide complet du fichier Sshd_Config pour Linux

Le Guide Complet Du Fichier Sshd Config Pour Linux



Le protocole SSH ou Secure Shell est utilisé pour se connecter à distance à une machine et exécuter des commandes sur la machine distante. Les données transférées à l'aide du protocole SSH sont cryptées avec des algorithmes spéciaux qui rendent SSH plus sûr 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 se trouve à /etc/ssh/ssh_config.



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





Le programme SSH sur un hôte prend la configuration soit à partir de ces fichiers, soit 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, a 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 lorsqu'il démarre.



Explorer le sshd Fichier de configuration

Le fichier de configuration sshd contient de nombreuses directives qui peuvent également être personnalisées. Regardons la mise en page par défaut de ce fichier :

$ chat / etc / chut / sshd_config


# Il s'agit du fichier de configuration système du serveur sshd. Voir

# sshd_config(5) pour plus d'informations.

Port 222
EcouteAdresse 0.0.0.0
EcouteAdresse ::
HostKey / etc / chut / ssh_host_key
ServerKeyBits 768
ConnexionGraceTime 600

KeyRegenerationInterval 3600
PermitRootLogin oui
IgnoreRhosts oui
Modes stricts oui
X11Renvoi non

AllowTcpForwarding non
allowTTY non
X11DisplayOffset dix
PrintMod oui
Rester en vie oui
SyslogFacility AUTH

Informations sur le niveau de journalisation
Authentification Rhosts non
Authentification RhostsRSA non
Authentification RSA oui
Authentification par mot de passe oui
AllowEmptyPasswords non
ChèqueMail non


Toute ligne commençant par '#' est considérée comme un commentaire. Explorons certains des paramètres donnés :

1. La directive Port spécifie un numéro de port. Il s'agit du numéro de port sur lequel le sshd écoute les connexions. La valeur par défaut pour ce port est 22 qui est la valeur standard. Cependant, dans notre cas, nous l'avons changé en 222.

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

2. ListenAddress contient l'adresse IP d'écoute. L'action par défaut consiste à écouter sur toutes les adresses IP liées au serveur. Notez également que la directive Port doit succéder à la directive ListenAddress.

3. Le chemin complet du fichier de clé d'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 PermitRootLogin autorise la connexion root pour sshd lorsqu'elle est définie sur yes. Cela doit être défini sur no sauf si les fichiers hosts.allow et hosts.deny sont utilisés pour restreindre l'accès sshd.

5. La directive X11Forwarding autorise le transfert du système X Window lorsqu'elle est définie sur yes.

6. Quelle installation Syslog que le sshd doit utiliser est spécifié à l'aide de la directive SyslogFacility. Conservez la valeur par défaut telle quelle.

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

Changer le sshd Port

Par défaut, le sshd ou le démon du serveur OpenSSH utilise le port 22 du protocole TCP. Il est recommandé de remplacer ce numéro de port par 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 recommandé de vérifier la syntaxe de la configuration d'un nouveau fichier sshd_config avant de l'utiliser, quel que soit le port sur lequel 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 root doit pouvoir lire et é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 nécessite les droits root.

Si aucun résultat ne s'affiche lors de l'exécution de la commande de vérification de la 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 souhaitons exécuter une nouvelle instance de sshd sur un autre port. Cela peut être dû au fait que le port 22 est déjà utilisé ou que la modification de ce port dans un environnement de production peut présenter des risques. 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 en tant que sshd_config_new. Ce fichier peut être utilisé pour certains paramètres de serveur différents. Maintenant, spécifions ce fichier à considérer comme le nouveau fichier de configuration du serveur sur le port numéro 100 :

$ sudo / usr / sbin / sshd -F / etc / chut / sshd_config_new -p 100


Le démon sshd écoute maintenant 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 souhaité. Pour cela, nous devons utiliser un programme client ssh et exécuter la commande suivante :

$ / usr / poubelle / chut -p 100 < IP du serveur >



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

$ / usr / poubelle / chut -p 100 127.0.0.1

Dépannage de la configuration OpenSSH

Parfois, notre serveur ne fonctionne pas comme souhaité. Dans de tels cas, nous pouvons utiliser l'indicateur '-d' pour dépanner la configuration du serveur OpenSSH. En utilisant le drapeau '-d', le serveur passe en mode débogage et ne gère qu'une seule connexion.

La sortie produite en mode débogage est détaillée. Nous pouvons utiliser plus de drapeaux '-d' pour augmenter le niveau de débogage. Exécutons la commande de débogage sur notre serveur en utilisant le nouveau fichier de configuration :

$ / usr / sbin / sshd -ré -p 100 -F / etc / chut / sshd_config_new


La sortie de la commande précédente se connecte à stderr au lieu d'utiliser la fonction AUTH de syslogd.

Conclusion

Le démon OpenSSH ou sshd est un élément crucial de nombreuses infrastructures d'administration. En tant que tel, il nécessite une expertise pour le gérer pour un fonctionnement optimal. Dans cet article, nous avons découvert le fichier de configuration du serveur OpenSSH comme sshd_config.