Ce billet s'inspire d'un exercice que je donne lors de mes formations aux outils Linux.
Par défaut le démon ssh écoute sur toutes les cartes réseau et toutes les IP configurées sur la machine. Pour changer ceci il faut modifier le fichier /etc/ssh/sshd_config et positionner la ligne ListenAddress avec l'IP. Le shell suivant réalise cette opération.
#!/bin/bash # Affecte l'adresse IP de eth0 à l'écoute du démon ssh # Stocke l'IP dans une variable IP=`ifconfig eth0 | grep "inet adr" | cut -d':' -f2 | tr -s [:blank:] ' ' | cut -d' ' -f1` # sed est appelé avec l'option -i.bak afin de créer automatiquement un .bak de sshd_config sed -i.bak "s/#ListenAddress 0.0.0.0/ListenAddress $IP/" /etc/ssh/sshd_config
Tester avec la commande diff
diff -c /etc/ssh/sshd_config.bak /etc/ssh/sshd_config *** /etc/ssh/sshd_config.bak 2012-03-14 17:39:20.658111844 +0100 --- /etc/ssh/sshd_config 2012-03-14 17:41:11.011118977 +0100 *************** *** 12,18 **** #Port 22 #AddressFamily any ! #ListenAddress 0.0.0.0 #ListenAddress :: # Disable legacy (protocol version 1) support in the server for new --- 12,18 ---- #Port 22 #AddressFamily any ! ListenAddress 192.168.1.28 #ListenAddress :: # Disable legacy (protocol version 1) support in the server for new
Pour activer ceci redemarrer ssh