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 23

Apó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:

ProtocoloSegurançaPorta comumUso recomendado
TelnetNão criptografado23/TCPApenas testes ou legado
SSHCriptografado22/TCPAcesso 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/TCP

Como 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/TCP

Mas também é possível usar Telnet para testar outras portas TCP.

Exemplo testando HTTP na porta 80:

telnet site.com 80

Exemplo testando SMTP na porta 25:

telnet mail.servidor.com 25

Telnet 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_servidor

Como instalar Telnet no Linux?

No Debian, Ubuntu e derivados:

sudo apt update
sudo apt install telnet

Em algumas distribuições, o pacote pode se chamar:

sudo apt install inetutils-telnet

No Fedora:

sudo dnf install telnet

No Arch Linux:

sudo pacman -S inetutils

Verificar se está instalado:

telnet

Ou:

which telnet

Como conectar em um servidor via Telnet?

Formato básico:

telnet endereco_ip porta

Exemplo usando a porta padrão:

telnet 192.168.0.10 23

Exemplo com domínio:

telnet servidor.com 23

Se a porta for omitida, o Telnet tenta usar a porta padrão 23.

telnet 192.168.0.10

Como sair de uma sessão Telnet?

Dentro da sessão Telnet, pressione:

Ctrl + ]

Depois digite:

quit

Também pode funcionar:

close

Ou, dependendo do servidor remoto:

exit

Como 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 22

Exemplo testando HTTP:

telnet site.com 80

Exemplo testando SMTP:

telnet mail.servidor.com 25

Se 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 80

Depois digite:

GET / HTTP/1.1
Host: exemplo.com

Pressione Enter duas vezes.

Se o servidor responder, aparecerá uma resposta HTTP.

Exemplo:

HTTP/1.1 200 OK

Como testar SMTP com Telnet?

Conecte no servidor SMTP:

telnet mail.servidor.com 25

Depois, é comum o servidor responder algo parecido com:

220 mail.servidor.com ESMTP

Você pode testar o comando:

EHLO teste.com

Resposta esperada:

250 mail.servidor.com

Atençã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-inetd

Verificar serviço:

sudo systemctl status openbsd-inetd

Reiniciar:

sudo systemctl restart openbsd-inetd

Depois teste:

telnet localhost 23

Atenção: use isso apenas em ambiente de teste ou rede isolada.


Como liberar Telnet no firewall?

Com UFW:

sudo ufw allow 23/tcp

Verificar status:

sudo ufw status

Com iptables:

sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT

Em ambiente real, o recomendado é não liberar Telnet e usar SSH.


Como bloquear Telnet no firewall?

Com UFW:

sudo ufw deny 23/tcp

Com iptables:

sudo iptables -A INPUT -p tcp --dport 23 -j DROP

Verificar regras:

sudo iptables -L -n -v

Diferença entre Telnet, SSH e RDP

ProtocoloFunçãoSegurançaPorta comum
TelnetAcesso remoto via terminalNão criptografado23/TCP
SSHAcesso remoto seguro via terminalCriptografado22/TCP
RDPAcesso remoto gráficoCriptografado, se bem configurado3389/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 refused

Possí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 23

Verificar serviço:

sudo ss -tulpn | grep :23

Connection timed out

Erro:

Connection timed out

Possí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_servidor

Testar porta:

nc -vz ip_do_servidor 23

Verificar rota:

traceroute ip_do_servidor

No route to host

Erro:

No route to host

Possí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 addr

Verificar rota:

ip route

Testar gateway:

ping ip_do_gateway

Login incorrect

Erro:

Login incorrect

Possí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 -f

Ou:

sudo tail -f /var/log/auth.log

Blank 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 porta

Ou:

curl -I http://servidor

Telnet 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 :23

Verificar serviço:

sudo systemctl status openbsd-inetd

Reiniciar serviço:

sudo systemctl restart openbsd-inetd

Comando telnet não encontrado

Erro:

telnet: command not found

Possíveis causas:

Cliente Telnet não instalado.
Pacote ausente no sistema.

Instalar no Debian, Ubuntu e derivados:

sudo apt update
sudo apt install telnet

Ou:

sudo apt install inetutils-telnet

Como testar se o Telnet está funcionando?

Testar cliente Telnet:

telnet

Testar porta padrão:

telnet ip_do_servidor 23

Testar se a porta responde:

nc -vz ip_do_servidor 23

Verificar serviço no servidor:

sudo ss -tulpn | grep :23

Verificar firewall:

sudo ufw status

Comandos principais relacionados ao Telnet

ComandoFunção
telnet servidorConecta ao servidor na porta 23
telnet servidor portaConecta a uma porta TCP específica
Ctrl + ]Abre o modo de comando do Telnet
quitSai do Telnet
closeFecha a conexão atual
nc -vz servidor portaTesta porta TCP
ss -tulpnMostra portas abertas
ufw allow 23/tcpLibera Telnet no firewall
ufw deny 23/tcpBloqueia Telnet no firewall

Exemplo completo de uso

Instalar o cliente Telnet:

sudo apt update
sudo apt install telnet

Testar conexão com um servidor:

telnet 192.168.0.10 23

Testar uma porta HTTP:

telnet exemplo.com 80

Enviar requisição manual:

GET / HTTP/1.1
Host: exemplo.com

Pressione Enter duas vezes.

Para sair do Telnet:

Ctrl + ]
quit

Esse 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.