this is ssh:
http://www.openssh.org/
it's included with pretty much every gnu/linux distro on the planet...
as for the port-forwarding, take a look at this diagram:
<LAN-1 PC-1>-<ROUTER-1>-<[INTERNET]>-<ROUTER-2>-<LAN-2 PC-2>
ssh uses tcp port 22... if you are on <LAN-1 PC-1> and you want to have ssh access to <LAN-2 PC-2>, you will need to do port-forwarding of tcp port 22 on <ROUTER-2> to <LAN-2 PC-2>... this means that you are basically telling <ROUTER-2> the following:
"any tcp packets that hit <ROUTER-2> at port 22 on the internet side should be forwarded to <LAN-2 PC-2>..."
so when you are on <LAN-1 PC-1> and you try to connect to <ROUTER-2> at tcp port 22, you will in fact be connecting to <LAN-2 PC-2>...
if <ROUTER-2> is a linux router using iptables with eth0 as the external interface and eth1 as the internal one, and <LAN-2 PC-2> has an ip address of 192.168.0.102, then the port forwarding can be done using these two example rules on <ROUTER-2>:
Code:
iptables -t nat -A PREROUTING -p TCP -i eth0 --dport 22 \
-j DNAT --to-destination 192.168.0.102
iptables -A FORWARD -p TCP -i eth0 -o eth1 --dport 22 -j ACCEPT
so from anywhere you were accross the internet, you could now establish an ssh connection with <LAN-2 PC-2> by trying to connect to <ROUTER-2>'s ip address or dns name...
here's a wiki explaining what port forwarding is:
http://en.wikipedia.org/wiki/Port_forwarding
once you login to <LAN-2 PC-2> via ssh, you can turn it off with the command "halt"...