Não, você não pode fazer isso. Ele funciona para HTTP, porque o protocolo suporta hosts virtuais baseados em nome . SSH não.
Eu uso o Nginx para redirecionar meus domínios vindos na porta 80 para as máquinas virtuais corretas, agora estou querendo saber se posso fazer isso com o ssh na porta 22. Redirecionar todo o tráfego ssh para os convidados corretos pela porta 22?
Não, você não pode fazer isso. Ele funciona para HTTP, porque o protocolo suporta hosts virtuais baseados em nome . SSH não.
Você pode fazer isso através do recurso ProxyCommand
do ssh. Adicione o seguinte ao seu arquivo $HOME/.ssh/config
. Crie-o se não existir apenas com este conteúdo:
Host remoteserverX
User userint
ProxyCommand ssh userext@externalserver nc remoteserverX %p
Host remoteserverY
User userint
ProxyCommand ssh userext@externalserver nc remoteserverY %p
Você se conecta aos diferentes servidores remotos internos assim:
$ ssh remoteserverX
-or-
$ ssh remoteserverY
Esta é a ponta do iceberg no que diz respeito a esse recurso. Veja este P & D de Perguntas e Respostas intitulado: , para mais detalhes.
NOTA: O método acima está fazendo uso de uma ferramenta chamada nc
(netcat), que deve estar nos repositórios de qualquer das principais distribuições.
Isso não é exatamente o mesmo que o redirecionamento do Nginx, você está tunelando pelo sistema externo para acessar o sistema interno, mas tem um efeito semelhante.
Uma estrofe Host
, muitos hosts.
Host *.mydom.com *
ProxyCommand ssh externalserver nc %h %p
Uma estrofe "Hosts" para muitos usuários.
Adicione a sub-rotina Hosts
ao arquivo /etc/ssh/ssh_config
do sistema para que qualquer pessoa que faça login na caixa possa utilizá-lo.
Tags ssh