Impossible de ssh vers un autre ordinateur mais pouvez-vous le ping? Vous ne savez pas ce que je manque?
Utilisation d'un routeur Netgear
bash-3.2$ ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
inet 127.0.0.1 netmask 0xff000000
gif0: flags=8010<POINTOPOINT,MULTICAST> mtu 1280
stf0: flags=0<> mtu 1280
en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether xx:xx:xx:xx:xx:xx
media: autoselect (none)
status: inactive
en1: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
ether xx:xx:xx:xx:xx:xx
inet6 xxxx::xxxx:xxxx:xxxx:xxxxxx prefixlen 64 scopeid 0x5
inet 10.0.0.3 netmask 0xffffff00 broadcast 10.0.0.255
media: autoselect
status: active
fw0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 4078
lladdr xx:xx:xx:xx:xx:xx:xx:xx
media: autoselect <full-duplex>
status: inactive
bash-3.2$ ssh [email protected]
ssh: connect to Host 10.0.0.4 port 22: Connection refused
bash-3.2$ ssh -p 5900 [email protected]
ssh: connect to Host 10.0.0.4 port 5900: Connection refused
bash-3.2$ ping 10.0.0.3
PING 10.0.0.3 (10.0.0.3): 56 data bytes
64 bytes from 10.0.0.3: icmp_seq=0 ttl=64 time=0.046 ms
64 bytes from 10.0.0.3: icmp_seq=1 ttl=64 time=0.079 ms
64 bytes from 10.0.0.3: icmp_seq=2 ttl=64 time=0.078 ms
64 bytes from 10.0.0.3: icmp_seq=3 ttl=64 time=0.077 ms
64 bytes from 10.0.0.3: icmp_seq=4 ttl=64 time=0.079 ms
64 bytes from 10.0.0.3: icmp_seq=5 ttl=64 time=0.081 ms
64 bytes from 10.0.0.3: icmp_seq=6 ttl=64 time=0.078 ms
^C
--- 10.0.0.3 ping statistics ---
7 packets transmitted, 7 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.046/0.074/0.081/0.011 ms
bash-3.2$ ping 10.0.0.4
PING 10.0.0.4 (10.0.0.4): 56 data bytes
64 bytes from 10.0.0.4: icmp_seq=0 ttl=64 time=2.667 ms
64 bytes from 10.0.0.4: icmp_seq=1 ttl=64 time=2.675 ms
64 bytes from 10.0.0.4: icmp_seq=2 ttl=64 time=2.969 ms
64 bytes from 10.0.0.4: icmp_seq=3 ttl=64 time=2.663 ms
64 bytes from 10.0.0.4: icmp_seq=4 ttl=64 time=2.723 ms
^C
--- 10.0.0.4 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 2.663/2.739/2.969/0.117 ms
bash-3.2$
Le serveur n'exécute pas sshd (et donc n'écoute pas sur le port 22) ou a un pare-feu bloquant le port 22 (le port ssh par défaut), ou dans des cas incroyablement rares exécutant ssh sur un autre port (ce qui n'est certainement pas le cas) .
Vérifiez d'abord que sshd est installé (en utilisant des exemples Debian)
Sudo apt-get install openssh-server
Et si oui, fonctionne-t-il:
ps -ef | grep sshd
puis vérifiez s'il écoute le port 22
Sudo netstat -nlp | grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 946/sshd
tcp6 0 0 :::22 :::* LISTEN 946/sshd
puis vérifiez vos règles de pare-feu (cela varie considérablement, je vais donc montrer un exemple debian/ubuntu/etc):
Sudo ufw status
Sudo ufw show listening
tcp:
22 * (sshd)
24224 * (Ruby)
tcp6:
22 * (sshd)
8080 * (Java)
udp:
123 10.X.Y.Z (ntpd)
123 * (ntpd)
18649 * (dhclient)
24224 * (Ruby)
34131 * (Ruby)
60001 10.87.43.24 (mosh-server)
68 * (dhclient)
udp6:
123 fe80::1031:AAAA:BBBB:CCCC (ntpd)
123 * (ntpd)
48573 * (dhclient)
Si ufw
l'affiche comme fermé, exécutez-le (encore un exemple debian/ubuntu)
Sudo ufw allow 22
Une sorte de coup de feu bizarre, mais assurez-vous que votre adresse IP n'a pas changé. J'ai eu ce problème une fois - j'ai défini un .bashrc
alias alias sshdev='ssh [email protected]'
comme moyen de connexion typique, et un jour j'ai commencé à obtenir l'erreur suivante:
ME-M-216C:~ me$ sshdev
ssh: connect to Host 123.2.3.4 port 22: Connection refused
Nous venons d'avoir une panne de courant au travail qui a réinitialisé les adresses IP, donc j'ai réussi à cingler une adresse IP, mais ce n'était pas la bonne machine. Vous pouvez utiliser nslookup <IP>
pour vous assurer qu'il s'agit du nom de machine correct dans lequel vous essayez ssh
.
J'ai eu le même problème avec Linux Lite. Afin de résoudre le problème, j'ai dû accéder à Paramètres> Configuration du pare-feu. Après m'être connecté à root, j'ai changé le paramètre entrant sur Autoriser et cela a fonctionné.
Lorsque vous obtenez le message "connexion refusée", cela signifie qu'un démon n'écoute pas sur ce port ou qu'un pare-feu rejette la connexion. Pour résoudre le problème, assurez-vous que ssh
est en cours d'exécution et que les règles de pare-feu locales ne rejettent pas les connexions entrantes sur ce port.
cette commande a fonctionné pour moi. Essaye ça.
update-rc.d -f ssh enable 2 3 4 5
Deux pensées.
sshd
) est-il en cours d'exécution?Les étapes suivies en général: 1) envoyez un ping à l'hôte de destination et vérifiez et recoupez l'adresse IP entrée. 2) Vérifiez l'état sshd du service Sudo sur les deux hôtes. S'il est arrêté, démarrez le service sshd. Si vous obtenez une erreur sshd.service introuvable, installez openssh-server -> Sudo apt install -y openssh-server et redémarrez sshd.service 3) La désactivation du pare-feu ou la modification des fichiers de configuration doit être considérée comme la dernière option.