Question Comment SSH sur un port autre que 22


J'ai deux ordinateurs derrière le même routeur. Appelons-les A et B.

A peut SSH à B de la manière suivante: ssh usr@<internal ip of computer>

B peut SSH à A en faisant la même chose, mais l'IP externe doit être utilisé. J'ai transféré le port 22 de mon routeur vers l'adresse IP de l'ordinateur A, ce qui me semble logique.

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 OUTPUT de iptables sur A et INPUT de B, mais cela ne semblait pas fonctionner. J'ai également transféré le port 26 vers l'adresse IP interne de B (via le routeur), comme je l'ai fait avec 22 pour A.

Voici ce que j'obtiens quand j'essaye de SSH de A à B en utilisant l'IP externe et le port 26:

ssh: connect to host xx.xx.xxx.xx port 26: Connection refused.

Versions:

  • A = OpenSSH_5.9p1 Debian-5ubuntu1, OpenSSL 1.0.1 14 mars 2012
  • B = OpenSSH_6.0p1 Debian-4, OpenSSL 1.0.1c 10 mai 2012

A a 12.04 Ubuntu, 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 à 26. Cela m'a donné le message de connexion encore refusé. (J'ai redémarré en vain.)


83
2018-03-04 22:47


origine


Avez-vous des SSH fonctionnant sur le port 22 ou 26 sur la deuxième machine? - Nerdfest
Notez que / etc / ssh / ssh_config est la configuration du client ssh. Tandis que / etc / ssh / sshd_config est la configuration du démon ssh. - steakunderscore


Réponses:


Il semble que vous n'utilisez pas SSH sur le port 26 de la deuxième machine. Vous pouvez soit changer le numéro de port sur cette machine à 26.

Soit modifier /etc/ssh/sshd_config & N'oubliez pas de redémarrer SSH ou de le laisser sur 22, mais de transférer le port 26 du routeur vers le port 22 de la deuxième machine. De plus, n'oubliez pas de modifier les paramètres du pare-feu sur la deuxième machine pour autoriser les connexions.


31
2018-03-04 22:53



Ahhh ... alors sshd_config doit changer, pas ssh_config? - Gary
Correct. sshd est le service (d pour le démon). Editez le fichier de configuration (avec sudo gedit), puis redémarrez le service avec "sudo service ssh restart". - Nerdfest
Résolu le problème. Ne pas avoir à modifier les paramètres du pare-feu non plus. - Gary


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

Remarque:

  1. Remplacez l'adresse IP du serveur par l'adresse IP ou le nom DNS de votre serveur.
  2. Changez votre numéro de port comme vous l'avez défini.
  3. Si vous utilisez un port SSH personnalisé, le même port sera autorisé pour la connexion entrante et sortante sur le pare-feu, sinon la connexion ne sera pas établie.

215
2017-08-12 12:48



Celui-ci doit être marqué comme correct. - ken_oy
Je suis d'accord que c'est la bonne réponse. Celui-ci est simple et va droit au but. - m4l490n
@gary marque celui-ci comme correct - sorrow poetry
Non, ce n'est PAS la bonne réponse. OP avait des problèmes avec le démon n'écoutant pas sur le port désiré. Il a clairement demandé de l'aide avec le serveur SSH et / ou la configuration NAT, mais la réponse actuelle ignore la publication d'origine et décrit l'option de commande client déjà connue de OP. Je me demande comment cette réponse a obtenu autant de commentaires. - nnovich-OK
@Gary Cette réponse est la bonne. Acceptez cette réponse comme la bonne réponse. - Dheeraj M Pai


J'utilise le port 22 uniquement pour l'accès ssh à l'intranet.

Pour accéder à Internet, j'utilise un port personnalisé (inhabituel). Cela a l'avantage de réduire la charge générée par les scripts qui analysent le port 22 pour les "noms d'utilisateur connus".

le externe Les processus sshd sont contrôlés par xinetd et courir en parallèle à la interne sshd processus. Dans l'exemple suivant, j'utilise le port 12345. Vous êtes libre de changer ce numéro pour n’importe quel numéro de port disponible sur votre système. Peut-être une valeur plus élevée rendra-t-elle un peu plus improbable que ce port soit analysé par un "scan rapide du port".

le xinetd la configuration est la suivante:

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

}

Le fichier /etc/ssh/external-ssdh.config peut être une copie de votre habitude sshd configuration. Assurez-vous que les instructions suivantes sont configurées:

Port 12345
AddressFamily 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 no
PermitEmptyPasswords no
ChallengeResponseAuthentication no

6
2018-03-04 23:11





Les ports d’écoute peuvent également être associés à des adresses IP

/ etc / ssh / sshd_config:

ListenAddress 10.10.10.10:22
ListenAddress 20.20.20.20:4444

5
2018-02-28 06:33