더북(TheBook)

SSH 서버 설치하기

SSH 서버를 서비스할 가상 게스트 server01을 생성하고 SSH 서버를 설치합니다. 몇 가지 필요한 설정이 끝나면 호스트의 SSH 클라이언트로 SSH 서버에 접속해보겠습니다.

그림 6-4 SSH 서버에 접속

virt-clone을 이용해서 실습에 사용할 게스트 server01을 생성합니다. 생성이 끝나면 server01을 시작해서 로그인하고, 5장의 ‘실습에 사용할 게스트 준비하기’를 참고하여 네트워크 환경을 설정합니다.

shinjaehun@losttemple:~$ sudo virt-clone --original guest \
> --name server01 \
> --file /home/shinjaehun/virtual_machines/server01.img
Tip

IP 주소는 192.168.122.201, 호스트 이름은 server01로 설정합니다.

이렇게 하세요!

게스트를 시작하고 가상 콘솔에 접속하는 방법은 다음과 같습니다.

shinjaehun@losttemple:~$ virsh start server01
shinjaehun@losttemple:~$ vv server01

게스트 준비가 끝나면 server01에 SSH 서버인 openssh-server 패키지를 시스템에 설치합니다.

administrator@server01:~$ sudo apt-get update
administrator@server01:~$ sudo apt-get install openssh-server

서버 설치 과정에서 sshd가 자동으로 시작됩니다. 열려 있는 포트 목록( LISTEN: 접속을 기다리는 대기 상태) 중에서 ssh라는 포트가 검색될 것입니다. ssh의 실제 포트 번호는 22번입니다.

administrator@server01:~$ netstat -a | grep ssh
tcp        0   0 *:ssh                    *:*                  LISTEN
tcp6       0   0 [::]:ssh                 [::]:*               LISTEN

lsof -i 명령으로 확인하면 sshd가 클라이언트의 접속을 기다리는 대기 상태( LISTEN)라는 사실을 알 수 있습니다.

administrator@server01:~$ sudo lsof -i
COMMAND PID         USER    FD  TYPE DEVICE SIZE/OFF NODE NAME
sshd    686         root    3r  IPv4   8034      0t0  TCP *:ssh (LISTEN)
sshd    686         root    4u  IPv6   8045      0t0  TCP *:ssh (LISTEN)
Tip

lsof는 시스템에서 동작하는 프로세스에 의해 열린 파일을 확인하는 명령으로 -i 스위치를 함께 입력하면 네트워크와 연결된 프로세스와 파일 정보를 보여줍니다.

server01에서 런레벨을 제어하기 위해 런레벨 편집기 sysv-rc-conf를 설치합니다. 설치가 끝나면 sysv-rc-conf를 실행합니다.

administrator@server01:~$ sudo apt-get install sysv-rc-config
administrator@server01:~$ sysv-rc-config

터미널에서 실행하는 sysv-rc-conf와 사용 방법은 동일합니다. ssh 서비스를 찾아서 런레벨 2부터 5까지 모두 시작하도록 설정해주면 됩니다. 설정이 끝나면 q를 눌러 런레벨 편집기를 종료합니다.

그림 6-5 런레벨 2~5 모두 시작하도록 편집

sshd 설정 파일 /etc/ssh/sshd_config를 살펴봅시다. 주석 처리된 옵션(옵션 앞에 ‘#’ 표시가 붙은 행)은 sshd에 영향을 미치지 않습니다. 보안을 고려해서 일부 옵션을 수정하는 편이 바람직합니다.

administrator@server01:~$ sudo vi /etc/ssh/sshd_config
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.