J'ai deux ordinateurs derrière le même routeur. Appelons-les A et B.
A peut SSH vers B de la manière suivante: ssh usr@<internal ip of computer>
B peut se connecter en SSH à A en faisant de même, mais l'adresse IP externe doit être utilisée. J'ai transféré le port 22 de mon routeur vers l'adresse IP de l'ordinateur A, donc tout a du sens pour moi.
Cependant, je souhaite également transférer le port 26 vers l'ordinateur B et SSH depuis l'extérieur du réseau en utilisant l'adresse IP externe pour les deux, mais en spécifiant le port 22 ou 26, pour sélectionner efficacement l'ordinateur à utiliser.
J'ai essayé d'autoriser le port 26 via la SORTIE de iptables sur A et l'ENTRÉE de B, mais cela ne semblait pas fonctionner. J'ai également transmis le port 26 à l'adresse IP interne de B (via le routeur), comme je l'ai fait avec 22 pour A.
Voici ce que j'obtiens lorsque j'essaie de SSH de A à B en utilisant l'adresse IP externe et le port 26:
ssh: connect to host xx.xx.xxx.xx port 26: Connection refused.
Version:
A = OpenSSH_5. 9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 mars 2012
B = OpenSSH_6. 0p1 Debian-4, OpenSSL 1.0.1 c 10 mai 2012
A a Ubuntu 12.04, B est un Raspberry Pi avec Raspbian.
EDIT: Quelque chose que j'ai oublié de mettre: J'ai essayé de changer le fichier de configuration SSH (je l'ai trouvé /etc/ssh/ssh_config) Je n'ai pas commenté (supprimé le #) la ligne avec Port et changé 22 de 26. Il m'a donné le message de connexion refusée encore. (J'ai redémarré en vain.)
Si vous êtes sur un système Linux et que vous souhaitez vous connecter à un serveur SSH sur le port 26, vous pouvez utiliser la commande suivante.
ssh user@192.168.1.1 -p 26
Note:
Remplacez l'adresse IP du serveur par l'adresse IP ou le nom DNS de votre serveur.
Modifiez votre numéro de port comme vous l'avez défini.
si vous utilisez un port SSH personnalisé, le même port sera autorisé pour la connexion sortante et entrante sur le pare-feu, sinon la connexion ne s'établira pas
Il semble que vous n'exécutiez pas SSH sur le port 26 sur la deuxième machine. Vous pouvez soit changer le numéro de port sur cette machine à 26.
Soit modifier /etc/ssh/sshd_config & amp; n'oubliez pas de redémarrer SSH (service sshd restart) ou laissez-le sur 22, mais transférez le port 26 du routeur vers le port 22 de la deuxième machine. N'oubliez pas non plus de modifier les paramètres du pare-feu sur la deuxième machine pour autoriser les connexions.
J'utilise le port 22 uniquement pour l'accès ssh intranet.
Pour l'accès via Internet, j'utilise un port personnalisé (inhabituel).Cela a l'avantage de réduire la charge générée par les enfants de script qui analysent le port 22 à la recherche de "noms d'utilisateur bien connus".
Le externe les processus sshd sont contrôlés par xinetd et courant en parallèle au internesshd process.In l'exemple suivant j'utilise le port 12345:
Vous êtes libre de changer cela en n'importe quel numéro de port gratuit disponible sur votre système.Peut-être qu'une valeur plus élevée rendra également un peu plus improbable que ce port soit analysé par un "analyse rapide des ports".
Le xinetd la configuration est:
service ssh-external{ socket_type = stream wait = no protocol = tcp type = UNLISTED user = root server = /usr/sbin/sshd server_args = -i -f /etc/ssh/external-sshd.config port = 12345 log_on_failure += USERID}
Fichier /etc/ssh/external-ssdh.config peut être une copie de votre habituel sshd configuration.Assurez-vous que les instructions suivantes sont configurées:
Port 12345AddressFamily inet
Je suggère également d'appliquer l'authentification par clé publique et de désactiver l'authentification par mot de passe pour l'accès à Internet:
PasswordAuthentication noPermitEmptyPasswords noChallengeResponseAuthentication no
Comme je l'ai expliqué dans un réponse connexe, le client ssh permet de spécifier le format URI comme ssh://user@host:1234. Exemple:
ssh ssh://myuser@mydomain.com:2222
où 2222 est le numéro de port. Remplacez le numéro de port que vous avez l'intention d'utiliser à la place. Bien sûr, rappelez-vous que pour se connecter au port spécifié, le serveur ssh (sur l'hôte auquel vous essayez de vous connecter) doit d'abord écouter sur le port spécifié
Ce n'est pas une bonne idée d'exécuter ssh sur le port par défaut (TCP/22), ni de transférer de l'IP WAN 22 vers n'importe quel port utilisant le serveur ssh sur l'IP LAN.
Pour que le serveur ssh écoute sur un port donné, vous devez
Modifier sur /etc/ssh/sshd_config (notez le d) de #Port 22 de Port 26. C'est - à-dire, décommentez et changez le port. Mieux que 26 ce serait quelque chose au hasard ci-dessus (en dessous de 65535), comme 42895. Envisagez également de passer à PermitRootLogin no.