there are a couple of options for this to works:
If you want to use your public IP Address, you could use port forwarding. You could forward specific ports on the public host IP to one of your internal/private machines on the LAN.
The above way of using NAT exposes your private machines to the internet, so it might not be what you want.
Another way would be to establish a VPN (Virtual Private Network) tunnel between the two public hosts. OpenVPN is one product that can establish VPN's between two or more hosts. What it does is, create a tunnel through the internet between your two public hosts and extends your private network. You can encrypt the tunnel and your private hosts would not directly be exposed to the internet.
have a look at the following guides:
Hope this helps a bit to get started...