Como conectar o ssh de uma porta especificada?

Como conectar o ssh de uma porta especificada?

Eu sei como conectar-me a uma determinada porta usando ssh.

ssh user@remotehostip -p XXX

Existe uma maneira de estabelecer o sshdea porta que meu computador local usará?

Responder1

Isso não é facilmente possível. Como isso pode ser feito depende de onde a porta de origem será vista: localmente também, ou é suficiente se for a porta certa do ponto de vista da rede externa?

Você pode executar o cliente SSH em um contêiner LXC. Eu nunca fiz isso, portanto não posso explicar em detalhes. Mas você cria uma interface de rede virtual e a anexa a esse contêiner para que sshuse essa interface porque é a única interface (externa) que vê.

No sistema host deve ser possível detectar que um pacote vem desta interface. Assim, você pode usar o NAT (SNAT) do Netfilter para reescrever o endereço de origem com algo como:

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

É claro que isso não funciona (ou fica mais complicado) se você conectar em portas diferentes da 22.

Responder2

A sintaxe de comando que você está procurando talvez seja esta. ssh -p XXX user@remotehostip Você precisa alterar a ordem das opções. Experimente agora, funciona para mim. Atenciosamente.

Responder3

Uma solução simples para isso, se você estiver encaminhando a porta através do seu roteador, é definir a porta de entrada para o que você quiser e a porta local para 22. Sua máquina ainda estará usando a conexão ssh em 22 como normal, mas para realmente se conectar de fora de sua rede você usaria sua porta de entrada. Se você está apenas tentando impedir que os bots martelem sua máquina no 22, isso deve bastar.

Isso pode não ajudar no seu problema específico, mas imagino que muitas pessoas acabem aqui por esse motivo.

Responder4

Com base na resposta de Hauke ​​Laging sem contêiner, é suficiente adicionar esta regra iptables antes de executar o cliente ssh:

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

A regra pode ser removida após a sessão ssh ser aberta.

informação relacionada