Sous Ubuntu 12.04, j'ai configuré le serveur OpenSSH. Je peux me connecter depuis le réseau local, mais pas depuis l'extérieur. J'utilise le même fichier sshd_config
que sur mes autres machines Ubuntu 12.04 (situées dans un réseau local différent).
$ ssh 192.168.0.2
fonctionne bien, mais
$ ssh 65.76.97.222
(adresse IP composée) ne fonctionne pas. Rien ne se passe. Pas de message d'erreur ou autre chose. L'invite est juste là.
Grâce aux commentaires ci-dessous, j'ai réussi à vérifier via les sites Web canyouseeme.org et ShieldsUP que le port 22 est effectivement ouvert.
En utilisant l'option -vvv
, j'obtiens ce qui suit:
$ ssh -vvv 65.76.97.222
OpenSSH_5.9p1 Debian-5ubuntu1.4, OpenSSL 1.0.1 14 Mar 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 65.76.97.222 [65.76.97.222] port 22.
debug1: Connection established.
debug1: identity file /home/myname/.ssh/id_rsa type -1
debug1: identity file /home/myname/.ssh/id_rsa-cert type -1
debug1: identity file /home/myname/.ssh/id_dsa type -1
debug1: identity file /home/myname/.ssh/id_dsa-cert type -1
debug1: identity file /home/myname/.ssh/id_ecdsa type -1
debug1: identity file /home/myname/.ssh/id_ecdsa-cert type -1
Et puis, l'invite reste là.
Informations de débogage supplémentaires à partir de var/log/auth.log
:
$ grep sshd /var/log/auth.log
[cutting old lines...]
Jul 6 10:23:05 mymachine sshd[7871]: Did not receive identification string from 65.76.97.222
J'autorise tout utilisateur à se connecter, en particulier mon propre nom d'utilisateur. Ce qui me trouble, c'est que je n'ai pas eu ce problème sur une autre machine, bien qu'ils soient sur un réseau local différent. Ce LAN n'a qu'un seul ordinateur connecté. Des idées sur la façon de procéder à partir d’ici?
Quelques points à vérifier.
Vérifiez /etc/ssh/sshd_config
et assurez-vous de ne pas avoir d'entrées drôles AllowUsers
name__.
Spécifiez l'utilisateur que vous souhaitez connecter comme:
ssh USER@SERVER
ssh SERVER -lUSER
Vérifiez votre pare-feu (iptables
name__):
Sudo iptables -L --line-numbers
Sudo iptables -L -t nat --line-numbers
Vérifiez que votre passerelle sur le serveur SSH est configurée pour que le routeur effectue le transfert de port.
route -n
La route par défaut devrait pointer en arrière sur ce routeur, sinon, vous pourrez établir des connexions via ce routeur, mais les ACK n'iront nulle part!
Besoin de vérifier que la redirection de port fonctionne correctement, je vérifie généralement en accédant à https://www.grc.com/shieldsup > Poursuivez> mettez votre numéro de port dans la zone et cliquez sur la sonde de port personnalisée spécifiée par l'utilisateur. . Cela devrait vous dire si ce port TCP est ouvert au public
Vous déclarez un utilisateur?
ssh [email protected] -p51555
Si vous avez donné le code de la façon dont vous l’utilisez, alors je pense qu’il utilisera par défaut le nom d’utilisateur actuel.
De plus, vous devez avoir un utilisateur autorisé à accéder au système TARGET. dans l'exemple ci-dessus "Jimmy"