coloca dois ssh hops em um ssh: // URI?

0

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?

    
por jaybee 25.10.2011 / 11:20

3 respostas

4

Você deseja usar ProxyCommand para abrir o túnel sistema intermediário .

    
por 25.10.2011 / 12:24
1

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.

    
por 25.10.2011 / 12:16
0

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?

    
por 25.10.2011 / 12:11

Tags