1 é fácil. Basta executar um cliente ssh em sua rede e usar ssh -R
em um servidor externo para configurar um túnel remoto em sua rede. 2 e 3 são mais complicados, já que o SSH não tem nada parecido com o cabeçalho Host
do HTTP; você precisaria usar uma ProxyCommand
para devolver o cliente SSH externo do seu cliente SSH interno para o host real.