Sample TP-Link Archer VR2800 setup
The "hard" part is setting up the router.
For example, after I got the Internet to work on my TP-Link as mentioned at: https://www.youtube.com/watch?v=7vqVVlEFnV4 then I had to visit http://192.168.1.1 login and go:
- Advanced
- NAT Forwarding
- Virtual servers
- Add
My sample screenshot is forwarding external port 80 to my computer with internal IP 192.168.1.123 port 3000 as it is a web server.
For SSH you would likely keep it 22 external to 22 internal.

Then I fixed my home computer to always have that same IP with a static IP reservation:
- Advanced
- Network
- LAN Settings
- Address reservation
and I fix the IP of my computer to be 192.168.1.123. I identify the computer using its MAC address, which is a unique hardcoded hardware identifier of each network interface.
How to find your MAC address was asked at: https://superuser.com/questions/164426/how-can-i-see-my-mac-address-on-ubuntu

Then you just proceed to normally setup a the server For an SSH on Ubuntu 24.10 you'd simply do:
sudo apt install openssh-server
You can now first test that the server is accessible and working internally by using the internal IP from another computer connected to the home network:
ssh username@<internal-ip>
in my case:
ssh ciro@192.168.1.123
Next you want to determine your public IP address: Command for determining my public IP?
and then finally you can just:
ssh username@<external-ip>
say:
ssh ciro@1.2.3.4
You can then test this out by using a second computer or cell phone, disconnect it from your home Wi-Fi and use mobile Internet.
This is how my router looks like, he's cute:
