Configuration pour SSH à plusieurs ports

24

J'ai besoin d'écouter SSH sur deux ports: 22 pour l'hébergement de l'accès administrateur et 26 pour l'accès régulier. Je voudrais interdire la connexion root sur 26 et interdire toutes les adresses IP sauf le port 22. Ce dernier peut être fait avec les règles iptables, mais je ne connais pas le premier. Des idées?

CKoning
la source
3
root ne devrait jamais pouvoir se connecter via ssh; période; fin de l'histoire; buck s'arrête ici; jamais. Si vous avez besoin d'un accès root, vous vous connectez via votre utilisateur normal, puis suaméliorez avec ou mieux encore sudo.
Chris S
6
Il est tout à fait correct d'autoriser les connexions root sur ssh si vous les limitez à l'authentification par clé, ou même l'authentification par mot de passe si la session est limitée aux adresses IP que vous contrôlez. «Jamais» est trop fort.
EightBitTony
3
Je dirais qu'il y a des situations où il est logique d'avoir une connexion root (par exemple, une corruption du système de fichiers sur la partition / home, excluant la connexion en tant qu'utilisateur standard). Une chose qui peut aider est de définir le PermitRootLoginparamètre sshd_config sur without-password. Cela permet uniquement à la connexion root via ssh de se produire avec une clé ssh. L'authentification par mot de passe ne fonctionnera pas.
ewwhite
Cet article pourrait être utile: everythingsysadmin.com/2010/09/…
TomOnTime

Réponses:

27

Dans /etc/ssh/sshd_config, apportez la modification suivante. Recherchez la ligne qui dit Port 22et ajoutez une ligne similaire en dessous.

Port 22
Port 26

Enregistrez le fichier et redémarrez le démon sshd.

Je le fais dans des situations où j'ai ssh activé pour les utilisateurs internes sur le port 22, mais j'ai besoin d'une connectivité externe sur, disons, le port 2222. Cela lie le démon ssh aux deux numéros de port.

ewwhite
la source
6
Et comment restreignez-vous les connexions root au port 22 maintenant?
faker
@faker J'ai vu l'utilisation de restrictions de pare-feu / réseau pour fournir uniquement une liste blanche de l'accès IP au port 22.
ThorSummoner
10

Vous pouvez utiliser l' -foption sshd pour spécifier un autre fichier de configuration. Dans le fichier de configuration, vous devez utiliser le

Port 26 

pour changer le port sur lequel le sshd écoute.

ensemble

PermitRootLogin no

désactiver les connexions root

Vous pouvez alors faire quelque chose comme

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

Vous souhaiterez peut-être copier le script de démarrage sshd standard et les modifier afin de pouvoir démarrer le service du port 26 au démarrage.

Pourquoi fais-tu ça ?

Le moment est venu
la source
1
Au lieu d'avoir deux fichiers de configuration entiers, si vous vouliez les serveurs soient par ailleurs essentiellement similaire, ne serait - il plus simple et approprié d'ajouter seulement-o PermitRootLogin yes -p 26
JamesTheAwesomeDude
3

En supposant que sshd s'exécute avec un fichier de configuration spécifique à la ligne de commande, vous pouvez créer une deuxième configuration qui s'exécute sur le port 26 et exécuter un deuxième script de démarrage qui fait référence à ce port.

uSlackr
la source