I have set up a no-ip account to access my ssh server at home remotely with myserver.ddns.net, which works well.. from outside only.From outside:Remote ping:$ ping myserver.ddns.net # successRemote ssh:$ ssh myserver.ddns.net # successFrom local:Local ping:$ ping 192.168.2.8 # successLocal ssh:$ ssh 192.168.2.8 # successRemote ping:$ ping myserver.ddns.net # success, resolving to 90.113.108.192Remote ssh:$ ssh myserver.ddns.net # loOong time waiting, then..Connection closed by 90.113.108.192 port 22Why could it be so?
SSH and ddns: can connect remotely but not locally
ssh;remote;router;domain;dynamic dns
The answer about accessing NAT from an internal network is, more correctly, you do not want to do that because of:restrictions of consumer-grade technology;performance reasons - NAT uses more CPU resources and memory -  albeit in a domestic scale it is not worrisome;routing more complex - either using and debbuging.The alternatives are:if accessing only from that local server, creating an host file entry;creating a name server, and creating views if a public DNS name that belongs to you - not the case you present, but usually in an enterprise;creating a name server, and creating a custom internal name, like ssh.home;using BIND+RPZ, and redefining the external name to your internal IP address;if doing routing with a Linux box, with iptables+NAT, capturing the SSH sessions to your external IP, and NATing them to your internal IP address.About my comments about capturing the IP address/creating the host file, see this answer how I deal at home with my DDNS address. Better method for acting on IP address change from the ISP?For BIND+RPZ see:Configure BIND as Forwarder only (no root hints), encrypted + RPZ blacklist / whitelist all togetherLarge zone file for bind9 : ad-blocking