Acesso Remoto a Máquinas Internas com Tencent Cloud e Proxy SSH Direto e Reverso

Configuração de Proxy SSH para Acessar Máquinas Internas via Tencent Cloud

Para acessar máquinas em redes internas sem IP público, é possível usar um servidor com IP público, como uma instância Tencent Cloud, como intermediário. Isso envolve configurar proxy SSH reverso e direto.

Proxy SSH Reverso

A máquina interna (chamada de Máquina Interna) inicia uma conexão SSH reversa para o servidor com IP público (Servidor Externo). Isso mapeia uma porta no Servidor Externo para a porta SSH da Máquina Interna.

Configuração na Máquina Interna

Execute o seguinte comando na Máquina Interna para estabelecer o proxy reverso:


ssh -CNfR 2000:localhost:22 usuario@exemplo.com

A opção -C comprime os dados, -N evita comandos remotos, -f executa em segundo plano, e -R define o mapeamento reverso. Aqui, a porta 2000 no Servidor Externo é mapeada para a porta 22 (SSH) na Máquina Interna.

Verificação

No Servidor Externo, verifique o acesso à Máquina Interna:


ssh -p2000 usuario@localhost

Se bem-sucedido, você fará login na Máquina Interna.

Proxy SSH Direto

Para simplificar o acesso, configure um proxy direto no Servidor Externo. Isso redireciona uma porta adicional no Servidor Externo para a porta do proxy reverso, permitindo acesso direto à Máquina Interna via uma única porta.

Configuração no Servidor Externo

No Servidor Externo, execute:


ssh -CNfL *:3000:localhost:2000 usuario@exemplo.com

A opção -L define o mapeamento direto. Aqui, a porta 3000 no Servidor Externo é redirecionada para a porta 2000 (que aponta para a Máquina Interna).

Verificação

Teste o acesso à Máquina Interna através da porta direta:


ssh -p3000 usuario@exemplo.com

Substitua usuario pelo nome de usuário na Máquina Interna. O sucesso indica que a configuração está correta.

Considerações Importantes

Configuração de GatewayPorts

Em ambas as máquinas, edite o arquivo de configuração SSH /etc/ssh/sshd_config e defina GatewayPorts yes para permitir encaminhamento de portas.

Portas no Tencent Cloud

No console Tencent Cloud, adicione regras de firewall para permitir tráfego nas portas usadas (por exemplo, 3000). Use comandos do sistema para abrir portas:


sudo firewall-cmd --zone=public --add-port=3000/tcp --permanent

Estabilidade da Conexão

Para manter a conexão ativa, configure login SSH sem senha e use autossh para reconexão automática.

Login SSH Sem Senha

Na Máquina Interna, gere chaves SSH e copie a chave pública para o Servidor Externo:


ssh-keygen
ssh-copy-id -i ~/.ssh/*.pub usuario@exemplo.com

Repita para o usuário root, se necessário.

Configuração do autossh

Na Máquina Interna, use autossh para monitorar e reconectar automaticamente:


autossh -M 2100 -CNfR 2000:localhost:22 usuario@exemplo.com

Isso monitora as portas 2100 e 2101 para manter a sessão SSH ativa.

Inicialização Automática

Para iniciar o proxy reverso na inicialização, adicione o comando autossh ao arquivo /etc/rc.local. Certifique-se de que o login sem senha está configurado para o root.

Se o Servidor Externo to reiniciado, reinicie o serviço de proxy com:


systemctl restart rc-local.service

Conflitos de Portas

Evite usar a porta do proxy direto (por exemplo, 3000) como porta de escuta SSH no Servidor Externo, pois isso pode causar conflitos. Remova linhas como Port 3000 do arquivo /etc/ssh/sshd_config.

Tags: SSH tencent cloud Proxy Reverso proxy direto Rede Interna

Publicado em 7-15 05:54