Sim, o encaminhamento de porta SSH pode ser usado neste caso, mas você também pode receber avisos sobre chaves de host inválidas ou incorretas ao tentar fazer isso. Alguns clientes SSH, como o OpenSSH, rastreiam chaves de host SSH apenas por domínio ou IP e não incluem o número da porta com ele. O PuTTY parece gravar o número da porta com a chave do host e não deve sofrer com esse problema, contanto que seja consistente com os números de porta que você usa para cada host. Eu recomendaria adicionar os encaminhamentos de porta a uma sessão salva no PuTTY. Você também pode salvar as sessões adicionais para os vários hosts remotos como sessões salvas e usá-las com pscp / psftp. Você pode começar com qualquer porta de número alto para o encaminhamento, como 2220, e subir de uma para cada host que precisar encaminhar através de um host intermediário. Adicione à sessão salva de intermediate porta local encaminhada como porta 2220 e destino remote1:22 e porta 2221 com destino remote2:22 para hosts remotos remote1 e remote2 Em seguida, crie sessões para remote1 com destino localhost e porta SSH 2220 e uma sessão de remote2 com destino localhost e porta SSH 2221 . Para usar sessões com pcsp / psftp, use @session-name para o host.
O problema ocorre quando você de alguma forma associou uma chave de host SSH ao localhost e tentou se conectar a uma porta local que está sendo encaminhada para um computador diferente. Com o OpenSSH, resolvi esse problema usando HostKeyAlias . Eu adicionei entradas ao meu ~/.ssh/config assim:
Host intermediate
HostName intermediate.example.org
LocalForward 2220 remote1.example.org:22
LocalForward 2222 remote2.example.org:22
Host remote1
HostName localhost
Port 2220
HostKeyAlias remote1.example.org
Host remote2
HostName localhost
Port 2221
HostKeyAlias remote2.example.org
Minha correção preferida, porém, foi quando eu implantei o IPv6 em minha rede doméstica e de trabalho e não precisei mais me preocupar em me conectar a um servidor intermediário primeiro para chegar ao meu destino final.