Parfois, pour des raisons de sécurité, il est nécessaire d'avoir un port séparé pour ssh et sftp sur CentOS/RHEL. Voici un bref tutoriel sur la configuration de SSH sur le port 2222 et SFTP pour qu'il fonctionne sur le port 22.
1. Depuis openssh-5.3p1-117.el6.x86_64 pour séparer les ports ssh et sftp sur les systèmes CentOS/RHEL, apportez des modifications à /etc/ssh/sshd_config fichier et ajoutez les modifications suivantes.
# vi /etc/ssh/sshd_config Port 22 Port 2222
2. Commentez le sous-système par défaut et ajoutez le sous-système ci-dessous.
# vi /etc/ssh/sshd_config Subsystem sftp internal-sftp
Ajoutez les lignes ci-dessous à la fin du fichier /etc/ssh/sshd_config
# vi /etc/ssh/sshd_config Match LocalPort 22 AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp
3. Après avoir apporté les modifications, enregistrez et redémarrez simplement le service sshd.
# service sshd restart
Cela autorisera le port 22 pour les connexions SFTP uniquement. Le port 2222 peut être utilisé pour ssh vers le serveur.
Vérifier
Vérifions notre configuration. Tout d'abord, essayez ssh sur le serveur avec le port par défaut (22). Il devrait échouer comme indiqué dans l'exemple ci-dessous :
# ssh [email protected] [email protected]'s password: This service allows sftp connections only. Connection to 192.168.10.12 closed.
Essayez maintenant ssh en fournissant également le port 2222. Cela devrait réussir cette fois.
# ssh -p 2222 [email protected] [email protected]'s password: Last login: Mon Apr 17 15:23:58 2018 from ......
Comme dernière vérification, essayez sftp vers le système avec le port par défaut, c'est-à-dire 22 :
# sftp [email protected] Connecting to 192.168.10.12... [email protected]'s password: sftp>