Estou procurando uma diretiva de configuração do cliente ssh como LocalForward
essa que funcione como -L
parâmetro CLImaspara o -R
parâmetro
DRdetalhes completos do problema
Os dados:
repoServer -> myComputer -> NAT -> stagingServer
Eu tenho um servidor de repositório git local que não está exposto à Internet e um servidor de teste remoto no qual preciso implantar meu repositório.
Para fazer isso, eu ssh no stagingServer remoto com um soquete reverso.
Configuração atual parameucomputador:
Arquivo:~/.ssh/config
Host StagingServer
Hostname staging.acme.com
User username
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_username
ForwardAgent yes
em que corro:
ssh StagingServer -R 8022:repository.local:22
Configuração atual paraservidor de teste:
Arquivo:~/.ssh/config
Host repository
Hostname localhost
User git
Port 8022
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_deployer
no qual posso executar:
git clone git@repository:myProject.git
E tudo funciona bem, mas... finalmente
A questão:
É possível especificar no arquivo de configuração do cliente ssh (~/.ssh/config) para abrir o túnel reverso para que eu não precise adicionar-R 8022:repository.local:22
Responder1
Obviamente o que você está procurando é RemoteForward, você pode encontrar o específico no documento ssh_config ...
Documentação:https://linux.die.net/man/5/ssh_config (Pesquise por RemoteForward). É autoexplicativo.
Avançar Remoto
Especifica que uma porta TCP na máquina remota seja encaminhada pelo canal seguro para o host e porta especificados da máquina local. O primeiro argumento deve ser [bind_address:]port e o segundo argumento deve ser host:hostport. Os endereços IPv6 podem ser especificados colocando-os entre colchetes ou usando uma sintaxe alternativa: [bind_address/]port e host/hostport. Vários encaminhamentos podem ser especificados e encaminhamentos adicionais podem ser fornecidos na linha de comando. As portas privilegiadas podem ser encaminhadas somente ao efetuar login como root na máquina remota.
Então a configuração parameucomputadortorna-se:
Arquivo:~/.ssh/config
Host StagingServer
Hostname staging.acme.com
User username
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_username
ForwardAgent yes
RemoteForward 8022 repository.local:22