[SULINUX 강좌#4] 원격접속하기 VNC와 SSH
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 8,080 조회
- 0 추천
- 목록
본문
[SULINUX 강좌#4] 원격접속하기 VNC와 SSH
원격접속
SULinux는 다양한 종류의 원격 접속 방법을 지원합니다. 원격지에 서버를 쉽고 빠르게 접속하는 방법은 그래픽 모드로 접속하는 방법과 텍스트 모드로 접속하는 방법이 있습니다. 가장 일반적으로 사용하는 방법은 ssh를 통한 원격접속이며 성능 및 보안면에서 가장 강력하지만, 초보자에게는 사용법이 까다로울 수 있습니다.
각 원격 접속 방법에 따라 서버에서 설정해 줘야 하는 사항들이 있습니다. 다양한 접속 방법은 다음과 같습니다.
접속방법 | 모드 | root접근 | 기본 포트 | 특 징 |
VNC | GUI | 별도인증 | TCP 5900 | 로컬에서 보는 것과 똑같음 |
SSH | TUI | 기본O | TCP 22 | 가장 많이 사용, 보안/성능 우수 |
VNC
VNC(Virtual Network Computing)는 RFB프로토콜을 이용하여 원격 데스크탑을 공유하는 시스템입니다. VNC를 사용하여 SULinux의 그래피컬한 환경에 접속 할 수 있습니다. VNC는 데스크탑을 공유하기 때문에 로컬화면과 원격화면이 같고 제어권 또한 같습니다. 다중 사용자 로그인을 위해서는 별도설정 및 VNC서버의 가동이 필요합니다. 또 VNC는 별도의 비밀번호를 사용합니다. VNC를 이용하여 시스템에 접속하기 위해 서버의 설정이 필요하며, 클라이언트에는 별도의 프로그램이 필요합니다.
(1) VNC 서버 설정
가. 세션 공유 서버 설정
VNC를 사용하기 위해서는 SULinux에 VNC기능을 사용할 수 있게 설정하며, 비밀번호 등 여러 가지 설정이 필요합니다.
프로그램 > 시스템 도구 > 설정
위 그림에서 ‘공유’ 아이콘을 클릭하면 아래 화면이 나타나고 ‘화면 공유’ 메뉴를 클릭합니다.
아래와 같이 ‘화면 공유’ 세부 설정 화면이 나타나며 각 항목은 아래와 같습니다.
▸화면 공유 : 켬VNC를 이용하여 원격에서 데스크톱을 볼 수 있게 합니다.
▸원격 조작 허용: 켬VNC를 이용하여 데스크톱을 제어할 수 있게 하며, 이 기능을 활성화 시키지 않으면 원격에서 제어권을 얻을 수 없습니다.
▸암호 필요 : 켬VNC를 이용하여 시스템에 접속할 때 암호를 사용할 것을 설정합니다. 만약 없다면 아무나 들어올 수 있기 때문에 꼭 암호를 어렵게 설정하기 바랍니다.
▸암호 : 암호VNC 접속 시 사용할 암호를 입력합니다.
▸네트워크 : 켬VNC 접속에 사용할 네트워크 인터페이스를 설정합니다.
참 고 |
|
VNC Viewer 프로그램으로 접속되지 않을 때
VNC Viewer로 접속했을 때 위와 같은 오류가 난다면 다음과 같이 설정합니다. 이 오류는 세션공유 VNC 서버 설정에서만 나타나며 GNOME에서 사용하는 vino VNC 서버의 버그라고 알려져 있습니다. # gsettings set org.gnome.Vino require-encryption false
이때 필히 서버콘솔에 직접 접속한 상태에서 위 명령어를 입력해야하는데, SSH를 사용하여 원격 접속하여 입력하면 dconf관련 오류가 나면서 실행되지 않습니다. 이 설정은 추가 보안요구를 비활성화 시키는 것입니다.
다음과 같이 설정된 내역을 확인하여 false가 나오면 정상적으로 VNC Viewer로 접속할 수 있습니다. # gsettings get org.gnome.Vino require-encryption false |
참 고 |
|
VNC에서 사용하는 Port
VNC는 tcp 5900번을 사용합니다. 방화벽 및 기타 설정에서 포트가 열려 있어야 VNC는 정상 작동합니다. |
나. 독립 세션 서버 설정
독립 세션 서버 방식을 사용하기 위해서는 VNC서버를 추가 설치해야 합니다. 위에서 설정한 세션 공유 방식에서 제공하는 VNC서버는 Vino라는 GNOME을 위한 VNC서버이기 때문에 독립 세션 VNC서버에서는 사용할 수 없습니다.
① VNC 서버 프로그램 설치
‘프로그램 > 시스템 도구 >소프트웨어’를 선택합니다.
소프트웨어 프로그램에서 좌측상단에 vnc라고 입력하고 <Enter>키를 입력하면 우측에 설치할 수 있는 vnc관련 패키지가 나타나고 그 중 A TigerVNC server를 선택 후 상단의 ‘바뀐 사항 적용’을 클릭하여 설치합니다.
처음 패키지를 설치한다면 아래와 같은 창이 나타나는데 이것은 SULinux 서명을 확인하는 것으로 예(Y)를 선택합니다. 이후 패키지 설치 시에는 보이지 않게 됩니다.
터미널에서 다음 명령어를 통하여 설치할 수도 있습니다.
|
|
|
| ~]# yum install tigervnc-server |
|
|
|
|
② VNC 서버 설정
SULinux 17은 /lib/systemd/system/vncserver@.server의 vncserver@.service 파일을 vncserver@:디스플레이번호.service 형식으로 복사하여 사용한다. 예를 들어 디스플레이 번호 2번을 사용하고자 한다면 다음과 같이 복사합니다.
|
|
|
| ~]# cp /lib/systemd/system/vncserver@.service \ /lib/systemd/system/vncserver@:2.service |
|
|
|
|
사용하는 포트는 디스플레이 번호에 따라 할당되는데, 디스플레이 번호가 1이면 5901을, 디스플레이 번호 2를 사용하는 경우에는 5902 포트를 사용하게 됩니다.
앞에서 복사한 /lib/systemd/system/vncserver@:2.service 설정파일을 편집기로 열어 보면 다음과 같습니다.
|
|
|
| ... [Service] Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/sbin/runuser -l <USER> -c "/usr/bin/vncserver %i" PIDFile=/home/<USER>/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ... |
|
|
|
|
위 내용은 설정파일의 일부이며 여기서 <USER>로 표시된 부분을 시스템의 사용자 계정으로 변경하는데 sulinux 계정으로 설정하면 다음과 같습니다.
|
|
|
| ... [Service] Type=forking # Clean any existing files in /tmp/.X11-unix environment ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ExecStart=/sbin/runuser -l sulinux -c "/usr/bin/vncserver %i" PIDFile=/home/sulinux/.vnc/%H%i.pid ExecStop=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :' ... |
|
|
|
|
만약 사용자 계정으로 root를 사용하고자 한다면 sulinux 대신 root로 지정하고 아래 부분을 PIDFile=/root/.vnc/%H%i.pid으로 수정합니다. root 계정의 홈디렉토리는 /home/root가 아니고 /root이기 때문입니다.
③ VNC 비밀번호 설정
VNC클라이언트가 VNC서버에 접속할 때 사용할 비밀번호를 설정합니다.
|
|
|
| ~]# su - sulinux ~]$ vncpasswd Password: 암호입력 Verify: 암호입력 |
|
|
|
|
su 명령어를 사용하여 sulinux 사용자로 전환한 다음 vncpasswd 명령어로 암호를 생성합니다. 생성된 암호는 ~/.vnc/passwd에 저장됩니다.
④ VNC 서버 시작
|
|
|
| ~]# systemctl start vncserver@:2.service |
|
|
|
|
디스플레이번호 2번의 VNC서버를 시작합니다.
서버 부팅 시 자동으로 서비스가 실행될 수 있게 다음과 같이 설정합니다.
|
|
|
| ~]# systemctl enable vncserver@:2.service |
|
|
|
|
⑤ VNC 서버 재시작
설정을 변경하였다면 아래 명령어로 재시작 합니다.
|
|
|
| ~]# systemctl restart vncserver@:2.service |
|
|
|
|
⑥ VNC 서버 비활성화
디스플레이번호 2번의 VNC서버 서비스를 종료합니다.
|
|
|
| ~]# systemctl stop vncserver@:2.service |
|
|
|
|
서버 부팅 시 자동으로 서비스가 실행되는 부분을 다음과 같이 제거한다.
|
|
|
| ~]# systemctl disable vncserver@:2.service |
|
|
|
|
(2) VNC 원격접속 (Windows)
VNC를 사용하여 SULinux에 접속하기 위해서는 별도의 프로그램이 필요합니다. Windows 환경에서 VNC를 지원하는 프로그램은 많이 있으며 앞서 VNC서버로 설치한 TigerVNC (http://tigervnc.org)의 클라이언트 버전인 Viewer를 사용하여 접속합니다.
아래 그림과 같이 VNC 서버의 IP:디스플레이번호를 입력하고 Connect 버튼을 클릭합니다. 세션공유 VNC 서버 설정을 한 경우 IP만 입력하여 접속합니다.
서버의 계정에 설정한 암호를 입력하고 OK 버튼을 클릭하여 로그인 합니다.
아래 그림은 TigerVNC Viewer를 사용하여 SULinux에 접속한 화면입니다. 로컬 환경에서 로그인하여 사용하는 것과 동일하게 모든 기능을 사용할 수 있습니다.
(3) VNC 원격접속 (Linux)
SULinux 및 타 Linux클라이언트 환경에서는 X를 사용한다면, X환경에서 제공해주는 프로그램으로 VNC 서버에 접속할 수 있습니다만 VNC 종류에 따라 프로토콜이 조금씩 다르기 때문에 동일한 프로그램을 사용하는 것이 가장 좋은 선택입니다. 앞에서 설치한 TigerVNC의 리눅스 버전의 VNC Viewer를 설치합니다.
|
|
|
| ~]# yum install tigervnc |
|
|
|
|
다음 명령어를 터미널 환경에서 실행합니다.
|
|
|
| ~]$ vncviewer |
|
|
|
|
윈도우즈 환경에서 VNC 뷰어를 실행시킨 결과와 동일하며, 아래 그림과 같이 VNC 서버의 IP:디스플레이번호를 입력하고 Connect 버튼을 클릭하여 서버에 연결합니다. 세션공유 VNC 서버 설정을 한 경우 IP만 입력하여 접속합니다. 서버의 계정에 설정한 암호를 입력하고 OK 버튼을 클릭하여 로그인 합니다.
아래 그림은 TigerVNC Viewer를 이용하여 SULinux에 접속한 화면이며 로컬환경에서 로그인하여 사용하는 것과 동일하게 모든 기능을 사용할 수 있습니다.
SSH
SSH(Secure SHell)는 리눅스 시스템에 원격 접속하기위해 가장 많이 사용되는 프로토콜입니다. 원격 리눅스 시스템을 안전하게 접속하여 TUI환경을 제공합니다. SULinux는 보안을 위하여 원격 접속시 SSH 사용을 권장하고 있습니다. SSH를 통하여 SULinux에 접속하기 위해서는 서버의 설정은 필요하지 않습니다. 그렇지만, 클라이언트에서는 별도의 접속 프로그램이 필요합니다.
1. SSH 서버 설정
SULinux는 SSH를 기본적으로 제공합니다. SULinux 시작과 동시에 SSH접속이 가능합니다. 보다 안전한 서버운영을 위해 IP차단 및 선택된 사용자만 SSH를 통해 접근 할 수 있게 설정하시기 바랍니다.
참 고 |
|
SSH에서 사용하는 Port
SSH는 tcp 22번을 사용합니다. 방화벽 및 기타 설정에서 포트가 열려 있어야 SSH는 정상 접속 됩니다. |
2. SSH 원격접속 (Windows)
SSH를 사용하여 SULinux에 접속하기 위해서는 별도의 프로그램이 필요합니다. Windows 환경에서 SSH를 지원하는 프로그램은 아주 다양하게 있으며 대표적인 공개 SW프로그램은 다음과 같습니다. 성능 및 기능이 향상된 다양한 프로그램들이 유료로 판매되고 있습니다.
프로그램명 : putty
사이트 : www.chiark.greenend.org.uk/~sgtatham/putty/
putty는 다양한 OS를 지원합니다. 여러 가지 버전이 있으니 환경에 맞는 버전을 설치하시기 바랍니다. 자세한 설치 방법은 프로그램 배포 사이트를 참조하시기 바랍니다. putty는 pscp, psftp, plink, pagent등 다양한 프로그램을 제공하고 있습니다.
위 그림은 putty의 실행 화면입니다. "Host Name" 부분에 IP 또는 도메인을 입력하고 "Open" 버튼을 눌러 접속 할 수 있습니다. 단, SULinux은 기본 언어셋이 유니코드(UTF8)입니다. 그러므로 반드시 아래 그림과 같이 언어셋을 선택해야만, 한글이 깨어지지 않습니다.
위 그림은 putty에서 언어셋을 설정하는 화면입니다.
Window > Translation > Remote character set에서 UTF8을 선택하세요.
만약, EUC-KR을 사용한다면, 설정하지 않으셔도 무관합니다.
위 그림은 putty를 통하여 SULinux에 접속하고, root 사용자로 로그인 한 상태입니다. SULinux는 기본 SSH를 통하여 접속하였을 시 root 사용자 접근을 허용합니다.
3. SSH 원격접속 (Linux)
SULinux 및 타 Linux클라이언트 환경에서는 ssh 접근은 기본 설치된 ssh 프로그램을 사용하여 리눅스시스템에 접속 할 수 있습니다. 다음과 같은 방법을 사용하시기 바랍니다.
다음 커멘드를 커멘드 창에서 실행
ssh -l 사용자 아이피 |
위 그림은 일반적인 Linux에서 ssh 명령어를 통하여 SULinux에 접속한 화면입니다.
관련자료
-
이전
-
다음