I don't mean to insult you by telling you the obvious. I seem to do that a lot.
I suspect you are not using the correct IP to talk to the SSH server from your computer. Remember, inside the router area, the server will have an IP number that is meaningful only inside the router's subnet, usually 192.168.xxx.xxx. That works fine for everybody within the router, such as friend A.
Now, from outside the router, you probably need to log in differently on the server. Server has different address if you look at it from outside the router. Right now, my computer is given dynamic ip at 192.168.0.105, for example, but my IP seen by rest of world is the IP assigned to my router by the cable company.
Here's what I'd do if I were you. Go to the server and use it to log in on the website "whatismyip.com". That will tell you what IP number your system seems to be on. However, you will probably find that every other computer in that subnet appears to be at same outward facing IP. Hence, you cannot "get into" your server using that IP.
Usually, you have to configure the router so that messages on a port (SSH usually 22) will go to one of the computers inside the network.
You say it is set up as DMZ, which I remember from days of playing computer games, but it does not tell us much about how your computer is getting through to the server. In particular, the router has to pass through the messages to the server.
Think it over, let us know what you find out.
telnet your_server 22
? What is its output?