I set up a Ubuntu server and connect it to my router. I assign a fixed internal IP to it and ssh within the local network is always fine.

However, even if I set port-forwarding to my server, there was no response. ssh user@externalIP did not work (no response). I suspect that it was my router which blocks it, so I set external port as 10 and internal port 22. ssh user@externalIP -p 10 has no response.

My router is a TP-Link C9 archer. The online support told me TP-Link now blocks ssh for my security. Is there any other way to work around?


  • 1. use port in the range of >1024, e.g. port 9898. 2. open port 9898 in your router. 3. edit your question with the output of ssh -vvv user@externalIP -p 9898 – Yaron Dec 11 '17 at 14:34
  • I would rather use VPN – pLumo Dec 11 '17 at 14:46
  • 1
    Are you trying to connect using the external IP from within the LAN? if so the issue may be that your router does not support NAT loopback. – steeldriver Dec 11 '17 at 15:14
  • @steeldriver I am not connecting the external IP within the LAN. But ssh the internal IP works fine. – Simon Dec 12 '17 at 14:26

Instead of forwarding ports, you might consider using VPN to connect to your Network.
(See TP-Link FAQ).

Once connected, you can connect with your internal IP:

ssh user@internalIP

As long as the router firmware is up to date and you choose a strong password, this is considerably safer. Attackers will attack the router instead of your computer.

  • This is the best solution right now. Thanks RoVo. – Simon Dec 13 '17 at 4:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.