3 votes

ssh : Pas de route vers l'hôte

Je n'arrive pas à configurer un disque dur sur le port 9922. Avec la configuration standard sur le port 22, tout fonctionne bien. Ensuite, je modifie le port en 9922 en ajoutant cette ligne à la configuration standard. sshd_config archivo:

Port 9922

Je peux me connecter au serveur dans le réseau local sur le port 22 sans problème. Après avoir basculé sur le port 9922, j'obtiens la sortie suivante :

# ssh -vvv -p 9922 root@192.168.26.153
OpenSSH_4.3p2, OpenSSL 0.9.8e-fips-rhel5 01 Jul 2008
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.26.153 [192.168.26.153] port 9922.
debug1: connect to address 192.168.26.153 port 9922: No route to host
ssh: connect to host 192.168.26.153 port 9922: No route to host
#

Et nmap -p 9922 192.168.26.153 donne :

# nmap -p 9922 192.168.26.153

Starting Nmap 4.11 ( http://www.insecure.org/nmap/ ) at 2012-06-11 08:09 CEST
Interesting ports on 192.168.26.153:
PORT     STATE    SERVICE
9922/tcp filtered unknown
MAC Address: 4A:34:E7:11:9F:22 (Unknown)

Nmap finished: 1 IP address (1 host up) scanned in 0.184 seconds
#

Une idée de ce qui manque ?

ifconfig sur les machines cibles donne :

eth0      Link encap:Ethernet  Hardware Adresse 4A:34:E7:11:9F:22  
          inet Adresse:192.168.26.153  Bcast:192.168.26.255  Maske:255.255.255.0
          inet6 Adresse: fe80::4834:e7ff:fe11:9f22/64 G?ltigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2723010 errors:0 dropped:0 overruns:0 frame:0
          TX packets:552 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenl?nge:1000 
          RX bytes:561183811 (535.1 MiB)  TX bytes:52703 (51.4 KiB)
          Interrupt:24 

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6 Adresse: ::1/128 G?ltigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenl?nge:0 
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Et route -n :

# route -n
Kernel IP Routentabelle
Ziel            Router          Genmask         Flags Metric Ref    Use Iface
192.168.10.0    192.168.26.1    255.255.255.0   UG    0      0        0 eth0
192.168.26.0    0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
0.0.0.0         192.168.26.4    0.0.0.0         UG    0      0        0 eth0
# 

iptables -L retours :

# iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            state RELATED,ESTABLISHED 
ACCEPT     icmp --  anywhere             anywhere            
ACCEPT     all  --  anywhere             anywhere            
ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:ssh 
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  anywhere             anywhere            reject-with icmp-host-prohibited 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
#

4voto

Janne Pikkarainen Points 31244

Vous devez probablement avoir activé SELinux sur votre serveur. Si vous n'en avez pas besoin, désactivez-le temporairement avec setenforce 0 ou de façon permanente en modifiant /etc/selinux/config fichier.

Si vous voulez utiliser SELinux, faites en sorte qu'il autorise sshd pour se lier au port 9922 :

semanage port -a -t ssh_port_t -p tcp 9922

3voto

Hex Points 1919

Bien que ce ne soit pas une bonne idée d'arrêter le pare-feu, je proposerais de le démarrer et d'autoriser le port 9922 entrant par

/sbin/iptables -A INPUT -p tcp --dport 9922 -j ACCEPT

1voto

damoiser Points 111

Pour moi, c'était une combinaison de Selinux et de Firewall, j'ai trouvé la solution en faisant de cette manière :

Comme déjà proposé, détendre Selinux :

semanage port -a -t ssh_port_t -p tcp 9922

Et après ça, changer même la permission du pare-feu :

sudo firewall-cmd --zone=public --add-port=9922/tcp --permanent
sudo firewall-cmd --reload

Ces deux changements me permettent d'accéder au serveur avec le nouveau ssh-port

0voto

ewwhite Points 193555

Vous pouvez avoir plusieurs Port lignes dans votre sshd.conf, par exemple

Port 22
Port 2222
#Protocol 2,1
Protocol 2
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::

Je fais généralement cela parce que j'ai un pare-feu externe/une antenne réseau ouvert sur le port alternatif, mais je veux que les systèmes internes accèdent au serveur sur le port 22 traditionnel.

Veillez à redémarrer le démon ssh ( service sshd restart ) après toute modification du fichier de configuration.

Que se passe-t-il si vous nmap -p 9922 192.168.26.153 ? Montre-t-il le port ouvert ?

L'erreur dans la sortie de débogage de votre client ssh devrait être "Connection timed out" au lieu de "No route to host". Qu'est-ce qui se trouve entre vous et le système cible ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X