I use an ssh client config file in ~/.ssh/ on my local machine.
Host xp expi pi-outside
Hostname blah.blah.blah
User user
Port nnnn
Note : “blah.blah.blah”, “user” and “nnnn” are redacted - in my actual config in ~/.ssh/ folder (on my local machine I’m going to SSH from) - I have the real actual values… The top line “Host xp expi pi-outside
” is any arbitrary string you can choose for a nickname or shortcut - the only thing that matters is “Hostname blah.blah.blah
” (it can also be just IP address e.g. “Hostname 200.1.200.44
”).
You can use No-IP for free - you just get a monthly email reminder to renew your domain/host entry (I pay for mine bienially [i.e. 2 years]) - so you place the No-IP (you can use any dynamic DNS service - but - proviso - your mum’s router must support this service - or - you install a dynamic DNS client / agent on her Linux laptop) domain name into your ~/.ssh/config file.
“user” is some user that has sudo on your mum’s laptop.
“Port”, e.g. not “22” - could be anything arbitrarily chosen, e.g. 9000 (preferably one that’s not a common service like RDP 3389!) - most Linux and UNIX systems will have a list of ports in /etc/services - choose one that’s not listed (and hope your mum’s ISP doesn’t block any ports).
On your mum’s router - you forward port “nnnn” to the IP address (best to set a dedicated DHCP lease for your mum’s laptop on the router [e.g. via the MAC address of your mum’s laptop] - that’s a bit tricky to do from hundreds or thousands of miles away).
Anyway I just use a terminal window and type :
ssh expi
Note : you cannot use SSH until the laptop has booted into multiple user environment (e.g. after it’s booted into GUI)**. If you want to be able to access UEFI or BIOS - you’re out of luck - that’s what things like ILOM are for (most servers have ILOM - integrated lights out management - i.e. console console on a dedicated ethernet port - usually manages from a web browser).
There is a “project” out on the intertubes to be able to do just that - HDMI to a devices HDMI port, to view POST and UEFI / BIOS and pre-boot GRUB screens - but it’s hardware, and not really cheap - it uses a Raspberry Pi. What you’d need is some sort of IP KVM (and you’d have to port forward on your mum’s router to whatever port the IP KVM listens on), and your mum’s laptop would have to be connected via HDMI (and USB for HID [keyboard / mouse]).
My mum lives 3,000 km away (I’m in Perth West Oz, she’s in Melbourne) - she’s 86 - she used to have a laptop (Windows 7? XP?) - but now all she uses is an iPad - I’d never contemplate what you’re hoping to achieve in this scenario. My brother lives in Melbourne too - and he used to help her out with broadband, router, laptop etc. She’s a bit of a technophobe, but manages quite well on her iPad - he still does help her from time to time - but he’s about 50-60 km away across some of the worst traffic in an Australian metropolis (I’ve seen it - I wouldn’t cope with such traffic myself - 24 hours a day traffic snarls and congestion). My sister lives with her, but she’s a technophobe too - so not a great deal of help…
** in most cases, so long as the machine has booted past grub (and it’s got either sshd or openssh-server [different distros have different names for the SystemD daemon name/package] installed and enabled [e.g. “sudo systemctl enable sshd”]) - you can ssh to it even if e.g. the GUI fails to load. This is how I “rescue” my Thinkpad running Ubuntu 23.10 - I have to SSH to it and disable or kill gdm - otherwise it goes through a “loop” - once I’ve killed that thing causing the loop, I can then login to the TTY text console login physically on the device, then type “startx” to load my GUI (I need to re-install the O/S from scratch on it - will probably go for Pop!_OS).