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.