시스템 설정 · 3 min read · Feb 02, 2026
직렬 콘솔 설정
직렬 콘솔 설정
이 튜토리얼에서는 Linux 시스템에서 직렬 콘솔을 설정하고 널 모뎀 케이블을 통해 연결하는 방법을 보여줍니다. 이는 Linux 서버가 헤드리스 구성(키보드나 모니터가 없음)일 때 유용하며, 시스템에 문제가 발생했을 때(특히 SSH를 사용할 수 없을 때 네트워크 문제) 쉽게 콘솔에 접근할 수 있게 해줍니다. 마지막에는 GRUB 메뉴와 부팅 메시지가 직렬 링크를 통해 나타납니다(시스템 부팅 시 출력). 저는 서버에서 Debian Etch를 사용하고 클라이언트에서 Ubuntu Edgy를 사용하고 있지만, 이는 모든 Linux 배포판에서 작동해야 합니다.
첫 단계
가장 중요한 것 중 하나는 서버에 실제로 직렬 포트가 있는지 확인하는 것입니다 :). 서버 뒷면을 살펴보고 9핀 직렬 포트가 있는지 확인하세요. 대부분의 마더보드는 하나 또는 두 개의 직렬 포트를 가지고 있습니다. 시스템에서 Linux가 직렬 포트를 인식하고 있는지 확인하세요:
root@server:~# dmesg | grep tty
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:08: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
이것은 제 시스템에 하나의 직렬 포트, ttyS0가 있음을 보여줍니다(나중에 기억하세요).
GRUB 구성
다음 단계는 GRUB 구성을 편집하여 메시지를 직렬 콘솔로 전송하도록 설정하는 것입니다. 가장 중요한 것 중 하나는 비밀번호를 설정하는 것입니다. 그렇지 않으면 누구나 직렬 케이블을 연결하고 시스템이 부팅되는 동안 GRUB 구성 줄을 편집(“e” 키를 통해)하여 루트 접근을 얻을 수 있습니다. 비밀번호가 설정되면 올바른 비밀번호가 입력되지 않는 한 대화형 메뉴 편집이 비활성화됩니다. 비밀번호를 설정하기 위해 먼저 암호화된 버전을 얻어야 합니다.
grub을 실행하고 “md5crypt” 명령어를 사용하여 비밀번호를 암호화하세요:
grub> md5crypt
Password: **
Encrypted: $1$AlfMq1$FxRolxW5XvSLAOksiC7MD1
암호화된 비밀번호 버전을 복사하세요(다음 단계에서 필요합니다), 그리고 quit를 입력하여 종료하세요.
이제 GRUB 구성을 편집해야 합니다. /boot/grub/menu.lst 파일을 편집하고( nano /boot/grub/menu.lst 입력) 이 섹션을 찾으세요:
## password ['--md5'] passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line) and entries protected by the
# command 'lock'
# e.g. password topsecret
# password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret그 아래에 다음을 추가하세요:
password --md5 $1$AlfMq1$FxRolxW5XvSLAOksiC7MD1
serial --unit=0 --speed=38400 --word=8 --parity=no --stop=1
terminal --timeout=10 serial console$1$AlfMq1$FxRolxW5XvSLAOksiC7MD1를 당신의 비밀번호의 암호화된 형태로 교체하세요. 두 번째 줄은 GRUB에게 38,400 bps(표준 콘솔과 동일한 속도), 8 데이터 비트, 패리티 없음, 1 정지 비트(기본적으로 표준 설정)로 직렬 포트를 초기화하도록 지시합니다. –unit=0은 첫 번째 직렬 포트(ttyS0)를 사용한다는 것을 의미합니다. 두 번째 직렬 포트(ttyS1)를 사용하는 경우 –unit=1로 변경하세요. 마지막 줄은 GRUB에게 직렬 라인과 콘솔(모니터) 모두에 메뉴를 표시하도록 지시합니다.
이제 커널 섹션도 편집하여 직렬 콘솔로 메시지를 출력하도록 해야 합니다. 모든 커널 줄 끝에 console=tty0 console=ttyS0,38400n8을 추가하세요(ttyS0를 올바른 직렬 포트로 교체). 제 경우에는 다음과 같이 보였습니다:
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 (single-user mode)
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 (single-user mode)
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 CTRL+O(파일을 “출력”하거나 저장)와 Enter(파일 이름 수락)를 누르고 CTRL+X(실제로 종료)를 눌러 저장하고 종료하세요.
직렬 콘솔을 통한 로그인 허용
이제 GRUB 메뉴가 직렬 연결을 통해 나타나지만, 여전히 로그인 대기 중이 아닙니다(아직 “getty”가 실행되고 있지 않습니다). /etc/inittab 파일을 편집하고 이 섹션을 찾으세요:
# Example how to put a getty on a serial line (for a terminal)
#
#T0:23:respawn:/sbin/getty -L ttyS0 9600 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100그 아래에(기본 줄을 편집하는 것은 좋아하지 않음 :P) 다음을 추가하세요:
T0:2345:respawn:/sbin/getty -L ttyS0 38400 vt100이게 전부입니다. 이제 서버는 직렬 콘솔을 통해 GRUB 메뉴를 표시하고 부팅이 완료되면 로그인도 허용합니다.
테스트해봅시다!
이제 모든 설정이 완료되었으니 클라이언트를 구성해야 합니다. 저는 노트북에서 GtkTerm을 사용하고 있지만, 어떤 터미널 프로그램도 작동해야 합니다(직렬 포트를 사용할 수 있는 한). Windows에서는 HyperTerminal이 작동해야 합니다. 제 노트북에는 직렬 포트가 없으므로 eBay에서 구입한 USB to Serial 어댑터를 사용하고 있습니다(ttyUSB0 장치를 생성합니다). 터미널 프로그램을 다음 설정으로 설정하세요:
- 포트 (Linux): ttyS0 또는 ttyS1(시스템에 직렬 포트가 있는 경우), 또는 ttyUSB0(USB to Serial 변환기를 사용하는 경우).
- 포트 (Windows): COM1 또는 COM2
- 초당 비트: 38400
- 데이터 비트: 8
- 패리티: 없음
- 정지 비트: 1
- 흐름 제어: 없음, 하드웨어(RTS/CTS)도 제대로 작동해야 합니다.
서버를 재시작하세요(아마도 위에서 GRUB 구성을 편집한 SSH 연결을 통해) 그리고 부팅 중에 널 모뎀 케이블을 연결하세요(즉, BIOS 화면에서). 프롬프트가 나타나면 아무 키나 누르세요, 그러면 다음과 같은 화면이 나타납니다:

이것은 GRUB이 잘 작동하고 있음을 의미합니다 :). Enter를 누르면 부팅이 시작되고 모든 메시지가 터미널 창에 표시됩니다. 부팅이 완료되면 다음과 같이 보일 것입니다:

마지막으로 로그인하고 제대로 작동하는지 확인하세요:

축하합니다, 모든 것이 설정되고 잘 작동합니다.
이 튜토리얼이 유익하셨기를 바랍니다! :)
Daniel15 (Daniel Lo Nigro)
http://www.daniel15.com/
http://www.dansoftaustralia.net/
새 게시물을 받은 편지함에서 받기
스팸은 없습니다. 언제든지 구독 해지 가능합니다.