Primeiro, " a parte do túnel entre o ViaHost e o TunnelEndHost é insegura " não é um fato . Você assume que o host final será conectado pela Internet pública, mas nem sempre é esse o caso - talvez eu esteja usando o encapsulamento para HTTPS, pode estar passando por IPsec, VPN criptografada ou apenas uma conexão a cabo fisicamente segura. Minha LAN de máquina virtual não é propensa a cheirar, desde que eu seja a única com root no meu próprio laptop.
Em segundo lugar, o que @Xeross disse - como você autenticaria em seu esquema proposto? Usando o protocolo? O recurso de túnel foi criado para suportar conexões TCP arbitrárias. E se o host final não suportar o SSH, o TLS ou o seu protocolo favorito? Se você decidiu exigir suporte SSH no host final, todo o recurso de túnel se tornará praticamente inútil, já que o usuário poderia apenas conectar o SSH ao host final diretamente.
Por fim, por que não? ssh
não pode conhecer melhor as condições de rede do usuário do que o próprio usuário (como visto no primeiro parágrafo), e adicionar restrições arbitrárias como essa pode dificultar seu trabalho . ssh
está aqui para ajudar, mas não para tomar conta, como é tradição dos programas Unix.