I just installed SSH and I would like to set it up to only accept connections from localhost. I plan to point a .onion address to it so that I may connect to it from anywhere on any network.
/etc/ssh/sshd_config file there are those fields :
# Use these options to restrict which interfaces/protocols sshd will bind to #ListenAddress :: #ListenAddress 0.0.0.0
#ListenAddress 0.0.0.0 to
ListenAddress 127.0.0.1, taking note to remove the leading
sudo reload ssh and you will be able to connect only from localhost.
Plus you should read about iptables.
You can block connection to your host on port 22 via iptables:
# iptables -I INPUT -i eth0 -p tcp --dport 22 -s 0.0.0.0/0 -j DROP # iptables -I INPUT -i lo -p tcp --dport 22 -j ACCEPT
And read about TransparentProxy.
Anyway solution with /etc/ssh/sshd_config, better.