Você deseja usar ProxyCommand
para abrir o túnel sistema intermediário .
Para ssh em uma caixa atrás de algum firewall, posso fazer o seguinte
home$ ssh me@ssh-server
ssh-server$ ssh me@box-behind-firewall
box-behind-firewall$
Para que eu possa fazer coisas como usar git repos etc em box-behind-firewall
de fora da rede, quero combiná-las em um único uri, por exemplo algo como
ssh://me@ssh-server/;ssh://me@box-behind-firewall/some/path
Isso é possível e como é feito?
Você deseja usar ProxyCommand
para abrir o túnel sistema intermediário .
Você provavelmente deseja usar o encaminhamento de porta. Conecte a primeira máquina usando
ssh -L2222:box-behind-firewall:22 me@ssh-server
Enquanto essa conexão estiver ativa, você poderá se conectar à segunda máquina usando
ssh -p 2222 me@localhost
da sua máquina local ou acesse repositórios git no servidor usando
ssh://me@localhost:2222/foo/bar/baz
como URI.
Isso não é possível do jeito que você quer. Você precisaria executar algum comando após o login no qual o esquema ssh-URI não suporta - eu acho que devido a preocupações de segurança.
Se você pudesse executar um comando, poderia fazer um ssh diretamente no próximo servidor durante a conexão.
Mas você pode fazer isso com alguma solução alternativa. Esta linha é de man sshd
8. If ~/.ssh/rc exists, runs it[...]
Você poderia apenas adicionar o comando ssh ao próximo servidor (ou firewall / roteador) aqui. Você só precisa encontrar uma maneira de distinguir se deseja conectar a maneira "normal" ou deseja ser encaminhado para o roteador - talvez você possa apenas adicionar um usuário no primeiro servidor que tenha apenas o propósito de encaminhar você para o próximo servidor?
Tags ssh