Console Serial · 5 min read · Feb 02, 2026
Configurando um console serial
Configurando um console serial
Este tutorial mostrará como configurar um console serial em um sistema Linux e conectá-lo via um cabo null modem. Isso é bastante útil se o seu servidor Linux estiver em uma configuração sem cabeça (sem teclado ou monitor), pois permite que você obtenha facilmente um console no sistema se houver algum problema com ele (especialmente problemas de rede, quando o SSH não está disponível). No final, o menu GRUB aparecerá pela conexão serial, assim como as mensagens de inicialização (saída ao iniciar o sistema). Estou usando Debian Etch no servidor e Ubuntu Edgy no meu cliente, embora isso deva funcionar em qualquer distribuição Linux.
Primeiros passos
Uma das coisas mais importantes que precisamos verificar é se você realmente tem uma porta serial no servidor :). Dê uma olhada na parte de trás do seu servidor e veja se ele tem uma porta serial de 9 pinos. A maioria das placas-mãe tem uma ou duas portas seriais. No sistema, verifique se o Linux está reconhecendo as portas seriais:
root@server:~# dmesg | grep tty
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) é um 16550A
00:08: ttyS0 at I/O 0x3f8 (irq = 4) é um 16550A
Isso mostra que meu sistema tem uma porta serial, ttyS0 (lembre-se disso para mais tarde).
Configuração do GRUB
O próximo passo é editar a configuração do GRUB, para que ele envie suas mensagens para o console serial. Uma das coisas mais importantes é definir uma senha, caso contrário, qualquer um pode conectar um cabo serial, editar a linha de configuração do GRUB enquanto o sistema está inicializando (via a tecla “e”), e obter acesso root. Quando uma senha é definida, a edição interativa do menu será desativada, a menos que a senha correta seja inserida. Para definir a senha, primeiro precisamos obter a versão criptografada dela.
Execute grub e use o comando “md5crypt” para criptografar a senha:
grub> md5crypt
Senha: **
Criptografado: $1$AlfMq1$FxRolxW5XvSLAOksiC7MD1
Copie a versão criptografada da senha (precisamos dela para o próximo passo) e, em seguida, digite quit para sair.
Agora, precisamos editar a configuração do GRUB. Edite o arquivo /boot/grub/menu.lst (digitando nano /boot/grub/menu.lst) e encontre esta seção:
## password ['--md5'] passwd
# Se usado na primeira seção de um arquivo de menu, desabilite toda a edição interativa
# controle (editor de entrada do menu e linha de comando) e entradas protegidas pelo
# comando 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecretAbaixo disso, adicione:
password --md5 $1$AlfMq1$FxRolxW5XvSLAOksiC7MD1
serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1
terminal --timeout=10 serial consoleSubstitua $1$AlfMq1$FxRolxW5XvSLAOksiC7MD1 pela forma criptografada da sua senha. A segunda linha informa ao GRUB para inicializar a porta serial a 38.400 bps (mesma velocidade que o console padrão), 8 bits de dados, sem paridade e 1 bit de parada (basicamente, as configurações padrão). Observe que –unit=0 significa que ele usará a primeira porta serial (ttyS0). Se você estiver usando a segunda porta serial (ttyS1), mude para –unit=1. A última linha informa ao GRUB para mostrar seu menu tanto na linha serial quanto no console (monitor).
Agora, também precisamos editar as seções do kernel, para que elas enviem mensagens para o console serial. No final de cada linha do kernel, adicione console=tty0 console=ttyS0,38400n8 (substitua ttyS0 pela porta serial correta). No meu caso, acabou parecendo:
title Debian GNU/Linux, kernel 2.6.18-4-vserver-686
root (hd0,1)
kernel /vmlinuz-2.6.18-4-vserver-686 root=/dev/hda3 ro console=tty0 console=ttyS0,38400n8
initrd /initrd.img-2.6.18-4-vserver-686
savedefault
title Debian GNU/Linux, kernel 2.6.18-4-vserver-686 (modo de usuário único)
root (hd0,1)
kernel /vmlinuz-2.6.18-4-vserver-686 root=/dev/hda3 ro single console=tty0 console=ttyS0,38400n8
initrd /initrd.img-2.6.18-4-vserver-686
savedefault
title Debian GNU/Linux, kernel 2.6.18-3-686
root (hd0,1)
kernel /vmlinuz-2.6.18-3-686 root=/dev/hda3 ro console=tty0 console=ttyS0,38400n8
initrd /initrd.img-2.6.18-3-686
savedefault
title Debian GNU/Linux, kernel 2.6.18-3-686 (modo de usuário único)
root (hd0,1)
kernel /vmlinuz-2.6.18-3-686 root=/dev/hda3 ro single console=tty0 console=ttyS0,38400n8
initrd /initrd.img-2.6.18-3-686
savedefault
Salve e saia, pressionando CTRL+O (para “output”, ou salvar o arquivo), Enter (para aceitar o nome do arquivo) e CTRL+X (para realmente sair).
Permitir logins pelo Console Serial
Agora, o menu GRUB aparecerá pela conexão serial, mas ainda não estamos ouvindo por logins (não há “getty” rodando nele ainda). Edite o arquivo /etc/inittab e encontre esta seção:
# Exemplo de como colocar um getty em uma linha serial (para um terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100Abaixo disso (não gosto de editar as linhas padrão :P), adicione:
T0:2345:respawn:/sbin/getty -L ttyS0 38400 vt100E é só isso. Seu servidor agora mostrará o menu GRUB pelo console serial e também permitirá logins (uma vez que tenha terminado de inicializar).
Vamos testar!
Agora que tudo isso está feito, precisamos configurar nosso cliente. Estou usando GtkTerm no meu laptop, embora qualquer programa de terminal deva funcionar (desde que possa usar uma porta serial. No Windows, o HyperTerminal deve funcionar). Meu laptop não tem uma porta serial, então estou usando um adaptador USB para Serial que comprei no eBay (ele cria um dispositivo ttyUSB0). Defina seu programa de terminal para estas configurações:
- Porta (Linux): ttyS0 ou ttyS1 (se seu sistema tiver uma porta serial), ou ttyUSB0 (se você estiver usando um conversor USB para Serial).
- Porta (Windows): COM1 ou COM2
- Bits por segundo: 38400
- Bits de dados: 8
- Paridade: Nenhuma
- Bits de parada: 1
- Controle de fluxo: Nenhum, embora o hardware (RTS/CTS) deva funcionar corretamente
Reinicie o servidor (provavelmente de uma conexão SSH, ou como você editou a configuração do GRUB acima) e, em seguida, conecte o cabo null modem enquanto ele está iniciando (ou seja, na tela do BIOS). Pressione qualquer tecla quando solicitado, e você verá algo como:

Isso significa que o GRUB está funcionando bem :). Pressione enter e ele deve inicializar, mostrando todas as mensagens na janela do terminal. Uma vez que inicializa, deve parecer algo como:

Finalmente, faça login e verifique se está funcionando bem:

Parabéns, tudo está configurado e funcionando bem.
Espero que você tenha gostado deste tutorial! :)
Daniel15 (Daniel Lo Nigro)
http://www.daniel15.com/
http://www.dansoftaustralia.net/
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.