Telnet
O que é Telnet?
Telnet é um protocolo de rede que permite acessar e controlar remotamente dispositivos e sistemas de forma interativa.
Ele geralmente funciona via linha de comando, como se o usuário estivesse fisicamente na frente do dispositivo remoto.
O Telnet foi muito usado no passado, mas hoje foi amplamente substituído por protocolos mais seguros, como o SSH.
Para que o Telnet é usado?
O Telnet é usado para acessar remotamente sistemas e dispositivos pela rede.
Exemplos comuns:
Acessar servidores antigos.
Configurar equipamentos de rede antigos.
Testar portas TCP.
Diagnosticar serviços de rede.
Interagir manualmente com alguns protocolos.
Verificar se um serviço está respondendo.
Hoje, o uso mais comum do Telnet é para testes e diagnóstico, não para acesso remoto seguro.
Como o Telnet funciona?
O Telnet cria uma conexão entre o cliente e o servidor remoto.
Fluxo básico:
O usuário abre o cliente Telnet.
O cliente se conecta ao servidor remoto.
O servidor aceita a conexão.
O usuário interage com o sistema via terminal.
Os comandos digitados são enviados pela rede.
O servidor responde no terminal do usuário.
Exemplo:
telnet ip_do_servidor 23Após conectar, o usuário pode digitar comandos, se o servidor permitir.
Características principais do Telnet
O Telnet possui algumas características importantes:
Permite conexão remota interativa.
Usa linha de comando.
Funciona sobre TCP.
Usa a porta 23 por padrão.
Não usa criptografia.
Envia dados em texto simples.
Pode expor usuário e senha na rede.
Foi substituído pelo SSH na maioria dos ambientes.
Ainda pode ser usado para testes de portas e serviços.
Telnet é seguro?
Não.
O Telnet não criptografa a comunicação.
Isso significa que informações como:
Usuário.
Senha.
Comandos digitados.
Respostas do servidor.
Dados sensíveis.
podem trafegar em texto simples pela rede.
Se alguém capturar o tráfego, pode visualizar essas informações.
Por isso, Telnet não é recomendado para acesso remoto em redes reais ou pela internet.
Telnet é a mesma coisa que SSH?
Não.
Telnet e SSH permitem acesso remoto por terminal, mas são diferentes.
O Telnet não possui criptografia.
O SSH usa criptografia e autenticação segura.
Resumo:
| Protocolo | Segurança | Porta comum | Uso recomendado |
|---|---|---|---|
| Telnet | Não criptografado | 23/TCP | Apenas testes ou legado |
| SSH | Criptografado | 22/TCP | Acesso remoto seguro |
O SSH é a opção recomendada para administração remota.
Telnet usa TCP ou UDP?
O Telnet usa TCP.
A porta padrão é:
23/TCPComo ele usa TCP, existe uma conexão entre cliente e servidor antes da troca de dados.
Qual porta o Telnet usa?
Por padrão, o Telnet usa:
23/TCPMas também é possível usar Telnet para testar outras portas TCP.
Exemplo testando HTTP na porta 80:
telnet site.com 80Exemplo testando SMTP na porta 25:
telnet mail.servidor.com 25Telnet usa TLS ou SSL?
Normalmente, não.
O Telnet tradicional não usa TLS nem SSL.
Ele envia os dados em texto claro.
Por isso, se for necessário acesso remoto seguro, use SSH.
Exemplo de acesso seguro com SSH:
ssh usuario@ip_do_servidorComo instalar Telnet no Linux?
No Debian, Ubuntu e derivados:
sudo apt update
sudo apt install telnetEm algumas distribuições, o pacote pode se chamar:
sudo apt install inetutils-telnetNo Fedora:
sudo dnf install telnetNo Arch Linux:
sudo pacman -S inetutilsVerificar se está instalado:
telnetOu:
which telnetComo conectar em um servidor via Telnet?
Formato básico:
telnet endereco_ip portaExemplo usando a porta padrão:
telnet 192.168.0.10 23Exemplo com domínio:
telnet servidor.com 23Se a porta for omitida, o Telnet tenta usar a porta padrão 23.
telnet 192.168.0.10Como sair de uma sessão Telnet?
Dentro da sessão Telnet, pressione:
Ctrl + ]Depois digite:
quitTambém pode funcionar:
closeOu, dependendo do servidor remoto:
exitComo usar Telnet para testar uma porta?
O Telnet pode ser usado para testar se uma porta TCP está aberta.
Exemplo testando SSH:
telnet 192.168.0.10 22Exemplo testando HTTP:
telnet site.com 80Exemplo testando SMTP:
telnet mail.servidor.com 25Se conectar, significa que a porta TCP respondeu.
Se não conectar, pode haver bloqueio, serviço parado ou porta fechada.
Como testar HTTP com Telnet?
Conecte na porta 80:
telnet exemplo.com 80Depois digite:
GET / HTTP/1.1
Host: exemplo.comPressione Enter duas vezes.
Se o servidor responder, aparecerá uma resposta HTTP.
Exemplo:
HTTP/1.1 200 OKComo testar SMTP com Telnet?
Conecte no servidor SMTP:
telnet mail.servidor.com 25Depois, é comum o servidor responder algo parecido com:
220 mail.servidor.com ESMTPVocê pode testar o comando:
EHLO teste.comResposta esperada:
250 mail.servidor.comAtenção: isso serve para diagnóstico. Não use para enviar mensagens não autorizadas.
Como habilitar servidor Telnet no Linux?
Não é recomendado habilitar Telnet em ambientes reais por segurança.
Mas, em laboratório, pode ser feito com telnetd.
No Debian, Ubuntu e derivados:
sudo apt update
sudo apt install telnetd openbsd-inetdVerificar serviço:
sudo systemctl status openbsd-inetdReiniciar:
sudo systemctl restart openbsd-inetdDepois teste:
telnet localhost 23Atenção: use isso apenas em ambiente de teste ou rede isolada.
Como liberar Telnet no firewall?
Com UFW:
sudo ufw allow 23/tcpVerificar status:
sudo ufw statusCom iptables:
sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPTEm ambiente real, o recomendado é não liberar Telnet e usar SSH.
Como bloquear Telnet no firewall?
Com UFW:
sudo ufw deny 23/tcpCom iptables:
sudo iptables -A INPUT -p tcp --dport 23 -j DROPVerificar regras:
sudo iptables -L -n -vDiferença entre Telnet, SSH e RDP
| Protocolo | Função | Segurança | Porta comum |
|---|---|---|---|
| Telnet | Acesso remoto via terminal | Não criptografado | 23/TCP |
| SSH | Acesso remoto seguro via terminal | Criptografado | 22/TCP |
| RDP | Acesso remoto gráfico | Criptografado, se bem configurado | 3389/TCP |
Telnet é antigo e inseguro.
SSH é a alternativa segura para terminal remoto.
RDP é usado para acesso remoto gráfico, principalmente em Windows.
Erros comuns no Telnet
Connection refused
Erro:
Connection refusedPossíveis causas:
Serviço Telnet parado.
Porta fechada.
Firewall recusando conexão.
Não existe serviço escutando naquela porta.
Servidor Telnet não instalado.
Verificar porta:
nc -vz ip_do_servidor 23Verificar serviço:
sudo ss -tulpn | grep :23Connection timed out
Erro:
Connection timed outPossíveis causas:
Firewall bloqueando.
Servidor fora do ar.
IP incorreto.
Rota de rede com problema.
Porta bloqueada no roteador ou provedor.
Testar conectividade:
ping ip_do_servidorTestar porta:
nc -vz ip_do_servidor 23Verificar rota:
traceroute ip_do_servidorNo route to host
Erro:
No route to hostPossíveis causas:
Sem rota até o destino.
Gateway incorreto.
Servidor desligado.
Firewall bloqueando com resposta de rede.
IP ou rede mal configurados.
Verificar IP:
ip addrVerificar rota:
ip routeTestar gateway:
ping ip_do_gatewayLogin incorrect
Erro:
Login incorrectPossíveis causas:
Usuário incorreto.
Senha incorreta.
Usuário sem permissão de login.
Conta bloqueada.
Servidor não permite login por Telnet.
Soluções:
Verificar usuário.
Testar login local.
Verificar logs do sistema:
sudo journalctl -fOu:
sudo tail -f /var/log/auth.logBlank screen ou tela travada
Pode acontecer quando a conexão abre, mas o serviço não envia resposta visível.
Possíveis causas:
Serviço aguardando comando específico.
Protocolo não é interativo.
Porta aberta, mas não é Telnet.
Servidor demorando para responder.
Teste com outra ferramenta:
nc -vz ip_do_servidor portaOu:
curl -I http://servidorTelnet conecta, mas não aparece login
Possíveis causas:
Servidor Telnet mal configurado.
Serviço escutando, mas sem autenticação funcional.
Problema no inetd ou xinetd.
Firewall intermediário interferindo.
Verificar porta:
sudo ss -tulpn | grep :23Verificar serviço:
sudo systemctl status openbsd-inetdReiniciar serviço:
sudo systemctl restart openbsd-inetdComando telnet não encontrado
Erro:
telnet: command not foundPossíveis causas:
Cliente Telnet não instalado.
Pacote ausente no sistema.
Instalar no Debian, Ubuntu e derivados:
sudo apt update
sudo apt install telnetOu:
sudo apt install inetutils-telnetComo testar se o Telnet está funcionando?
Testar cliente Telnet:
telnetTestar porta padrão:
telnet ip_do_servidor 23Testar se a porta responde:
nc -vz ip_do_servidor 23Verificar serviço no servidor:
sudo ss -tulpn | grep :23Verificar firewall:
sudo ufw statusComandos principais relacionados ao Telnet
| Comando | Função |
|---|---|
telnet servidor | Conecta ao servidor na porta 23 |
telnet servidor porta | Conecta a uma porta TCP específica |
Ctrl + ] | Abre o modo de comando do Telnet |
quit | Sai do Telnet |
close | Fecha a conexão atual |
nc -vz servidor porta | Testa porta TCP |
ss -tulpn | Mostra portas abertas |
ufw allow 23/tcp | Libera Telnet no firewall |
ufw deny 23/tcp | Bloqueia Telnet no firewall |
Exemplo completo de uso
Instalar o cliente Telnet:
sudo apt update
sudo apt install telnetTestar conexão com um servidor:
telnet 192.168.0.10 23Testar uma porta HTTP:
telnet exemplo.com 80Enviar requisição manual:
GET / HTTP/1.1
Host: exemplo.comPressione Enter duas vezes.
Para sair do Telnet:
Ctrl + ]
quitEsse exemplo instala o Telnet, testa acesso remoto e também testa uma porta HTTP manualmente.
Boas práticas de segurança
Evitar usar Telnet em ambientes reais.
Preferir SSH para acesso remoto.
Não enviar senhas por Telnet em redes inseguras.
Não expor a porta 23 na internet.
Usar Telnet apenas em laboratório ou sistemas legados.
Bloquear Telnet no firewall quando não for necessário.
Monitorar tentativas de acesso à porta 23.
Desativar serviços Telnet antigos.
Usar VPN se for necessário acessar sistemas legados.
Manter equipamentos e sistemas atualizados.