¿Cómo conectar ssh desde un puerto específico?

¿Cómo conectar ssh desde un puerto específico?

Sé cómo conectarme "a" un determinado puerto usando ssh.

ssh user@remotehostip -p XXX

¿Hay alguna manera de establecer ssh?de¿El puerto que utilizará mi computadora local?

Respuesta1

Eso no es fácilmente posible. La forma de hacerlo depende de dónde se verá el puerto de origen: localmente también, ¿o es suficiente si es el puerto correcto desde la perspectiva de la red externa?

Puede ejecutar el cliente SSH en un contenedor LXC. Nunca lo he hecho así que no puedo explicártelo en detalle. Pero usted crea una interfaz de red virtual y la adjunta a este contenedor para que sshuse esta interfaz porque es la única interfaz (externa) que ve.

En el sistema host debería ser posible detectar que un paquete proviene de esta interfaz. Por lo tanto, puede utilizar NAT (SNAT) de Netfilter para reescribir la dirección de origen con algo como:

iptables -t nat -A POSTROUTING -o vnet0 -p tcp --dport 22 -j SNAT --to-source :1234

Por supuesto, esto no funciona (o se vuelve más complicado) si te conectas a puertos distintos al 22.

Respuesta2

La sintaxis del comando que estás buscando quizás sea esta. ssh -p XXX usuario@remotehostip Tienes que cambiar el orden de las opciones. Pruébalo ahora, funciona para mí. Atentamente.

Respuesta3

Una solución simple para esto, si está reenviando puertos a través de su enrutador, es configurar el puerto de entrada en lo que desee y el puerto local en 22. Su máquina seguirá tomando la conexión ssh en 22 como de costumbre, pero en realidad se conectará desde fuera de su red. utilizaría su puerto de entrada. Si solo estás tratando de evitar que los robots golpeen tu máquina en 22, esto debería ser suficiente.

Puede que esto no ayude con su problema específico, pero me imagino que mucha gente termina aquí por este motivo.

Respuesta4

Basándose en la respuesta de Hauke ​​Laging sin contenedor, es suficiente agregar esta regla de iptables antes de ejecutar el cliente ssh:

iptables -t nat -A POSTROUTING -d <remotehostip> -p tcp --dport 22 -j SNAT --to-source :1234

La regla se puede eliminar después de abrir la sesión ssh.

información relacionada