반응형



01. 개요



컴퓨터에서 사용하는 운영체제의 종류는 많다. 대부분의 컴퓨터를 사용하는 사용자들은 Microsoft Windows 계열의 운영체제를 사용한다. 


 



Statcounter GlobalStats(http://gs.statcounter.com)의 2017년 11월 ~ 2018년 11월 Operating System Market Share 데이터를 보면 Windows 계열의 운영체제가 81.09% 의 점유율을 차지하고 있다.


[그림1] Statcounter GlobalStats(http://gs.statcounter.com)의 2017년 11월 ~ 2018년 11월 Operating System Market Share 데이터[그림1] Statcounter GlobalStats(http://gs.statcounter.com)의 2017년 11월 ~ 2018년 11월 Operating System Market Share 데이터


아무리 Apple 사의 시스템이 강세를 보이고 있다하더라도, MS-DOS 시절부터 오랫동안 자리를 차지하고 있던 MS의 OS(Operating System) 점유율은 쉽게 깨질 줄을 모르고 있다.


[그림2] Statista(https://www.statista.com/statistics/915085/global-server-share-by-os/) Share of the global server market by operating system in the first half of 2018[그림2] Statista(https://www.statista.com/statistics/915085/global-server-share-by-os/) Share of the global server market by operating system in the first half of 2018


[그림2]는 2018년 반기 동안의 Server 운영체제 점유율을 나타내는 그래프이다. [그림1] 과 [그림2]의 조사기관이 다르긴하지만, 참고자료정도의 의미로 생각하면 된다. [그림2]의 데이터와 같이 서버 운영체제의 점유율 역시 MS Windows 가 71.9% 로 압도적으로 높다.

하지만, 데스크톱 운영체제 점유율[그림1] 대비 서버운영체제 점유율[그리2]을 살펴보면, 윈도우 다음으로 Linux OS(1.58% -> 12.9%) 가 서버 운영체제로 많이 사용됨을 확인할 수 있다.




Linux 운영체제는 무료로 제공되는 운영체제로 수많은 배포판이 존재하고, 대표적으로 레드햇 계열과 데비안 계열로 구분된다.(물론 Unix 의 무료버전인 BSD 나 기타 등등의 배포판들이 많이 존재하지만, 많이 사용하는 계열은 레드햇과 데비안 계열이다.)

서버 운영체제로 Linux 를 선택하게되었을 때의 가장 큰 장점은 운영체제 유지보수 비용이 발생하지 않는다는 것이다. 다만, 유지보수를 직접해야하며, 각종 보안관련 문제로의 위험을 감수해야한다. 그래서 대형 서버를 운용하는 곳에서는 지속적인 유지보수를 받을 수 있는 Windows 계열의 운영체제를 사용하게 되고, 소규모 서버를 운용하는 곳에서는 리눅스 계열을 사용하게 된다.

리눅스를 사용했을 때의 가장 큰 장점은 터미널로 빠르게 서버를 관리할 수 있다는 것이다. 물론, Windows 계열도 파워쉘같은 콘솔을 제공하고 있지만, 리눅스의 터미널만큼 강력하지는 않다.

리눅스를 설치하고, 원격으로 리눅스가 설치된 컴퓨터에 접속하기 위해서는 ssh(Secure SHell) 라는 Server 데몬이 설치되어 있어야 한다. 이번 포스팅에서는 데비안 배포판 계열 중 하나인 Linux Mint 에 SSH 설치하는 방법을 공유하려고 한다.



02. Openssh-server 설치



본래, SSH(Secure Shell)은 Unix 에서 사용하기 위해 Tatu Ylönen 가 개발했던 상용 소프트웨어이다. 이러한 상용 소프트웨어를 BSD 에서 사용하기 위해 1999년에 OpenBSD팀에 의해 개발된 SSH가 Openssh 이다. 따라서, Linux 운영체제에서 SSH를 사용하기 위해서는 Openssh 를 설치해야 한다.


[그림3] openssh-server 설치 #1[그림3] openssh-server 설치 #1


터미널을 열고, apt-get install 을 이용하여 openssh-server 패키지를 설치한다.


sudo apt-get install openssh-server




[그림4] openssh-server 설치 #2[그림4] openssh-server 설치 #2


[그림4] 는 openssh-server 가 설치되고 있는 화면이다. Linux Mint 를 정상적으로 설치하였다면, openssh-server 패키지는 별 어려움 없이 설치될 것이다.


[그림5] openssh-server 설정 #1[그림5] openssh-server 설정 #1


openssh-server 를 설치한 후에 /etc/ssh/sshd_config 파일에서 ssh의 각종 설정을 할 수 있다. 기본으로 사용해도 되지만, 필자인 경우 보안상 이유로 포트를 수정하여 사용하고 있다. ssh의 기본 포트는 22번인데, 22번 포트가 SSH로 잘 알려진 포트이다 보니, 각종 공격으로부터 자유롭지가 않다. 따라서, 22번 포트를 다른 포트로 수정하여 사용하는 것을 권장한다.


[그림6] openssh-server 설정 #2[그림6] openssh-server 설정 #2


[그림6]은 /etc/ssh/sshd_config 파일의 내용이다. 설정 내용 중 가장 처음에 보이는 내용이 Port 설정 부분이다. 라인의 맨 첫 부분에 # 이 붙어있으면 주석처리 된 것이다. 별도의 포트를 설정하지 않으면 22번을 기본으로 사용하겠다는 의미이다. 따라서, #Port 22 로 되어 있는 부분에서 #을 삭제하고 Port 122 이런식으로 수정을 한다. 그럼 ssh는 122번 포트로 작동을 할 것이다.


[그림7] ssh 서비스 재시작[그림7] ssh 서비스 재시작




/etc/ssh/sshd_config 를 수정하였다면, Linux System 을 재부팅 하거나, ssh 서비스를 재시작 해야 한다. ssh 서비스를 재시작 하는 방법은 [그림7]과 같다.


sudo /etc/init.d/ssh restart



03. SSH 접속(Tera Term 이용)



윈도우에서 리눅스의 SSH로 접속하는 방법은 여러가지가 있지만, 대표적인 것이 Terminal Emulator 를 사용하는 것이다. 주로 많이 사용하는 무료 Terminal EmulatorPuttyTeraterm 이 있다. 필자는 Putty 보다는 Teraterm 을 좋아하기 때문에 본 포스팅에서는 Teraterm 을 설치하고, ssh 접속하는 방법을 공유한다.


[그림8] Teraterm 홈페이지[그림8] Teraterm 홈페이지


[그림8]은 Teraterm Homepage(http://ttssh2.osdn.jp) 이다. Teraterm 은 일본의 테라시니 타카시(寺西 高)가 개발한 오픈소스 단말 에뮬레이터로 일본 도메인을 가지고 있다. 텍스트기반의 아주 단순한 홈페이지이다.

[Download] 링크를 눌러 Teraterm 다운로드 페이지로 진입을 한다.


[그림9] Teraterm 다운로드 페이지[그림9] Teraterm 다운로드 페이지


현재(2018년 12월 09일) 최신 릴리즈는 4.101 버전이다. 필자는 윈도우에 프로그램을 설치하는 것을 별로 좋아하지 않기 때문에 미설치 버전인 zip 파일을 다운로드 받았다.


[그림10] Teraterm 실행파일[그림10] Teraterm 실행파일


Teraterm 의 실행은 [그림10]과 같이 ttermpro 파일을 실행하면 된다.


[그림11] Teraterm 실행 및 ssh 접속[그림11] Teraterm 실행 및 ssh 접속


Teraterm 을 실행하고, 호스트(T) 에 리눅스 컴퓨터의 IP 를 입력한다.(참고로 리눅스에서 ip를 확인하는 방법은 ifconfig 명령어를 이용하면 된다.) TCP 포트(P)에 [그림6]에서 설정한 포트를 입력하면 된다. 별도의 설정이 없었다면 22번을 사용하면 된다.


 



[그림12] ssh 처음 접속(보안경고)[그림12] ssh 처음 접속(보안경고)


SSH에 처음 접속을 하게 되면, [그림12]와 같이 보안 경고 창이 뜨게 된다. 계속을 누르면 Known-host 목록에 sha256 키를 추가하게 된다.(다음 접속 부터는 보안 경고 창이 뜨질 않는다.)


[그림13] ssh 로그인[그림13] ssh 로그인


[그림13]과 같이 ID/PW 를 입력하고, 확인 버튼을 클릭한다.


[그림14] SSH 접속 성공 화면[그림14] SSH 접속 성공 화면


[그림14]와 같이 터미널을 사용할 수 있으면 접속이 성공된 것이다. 이젠 리눅스 컴퓨터의 모니터 없이도 원격으로 리눅스컴퓨터를 조정할 수 있게 되었다.





04. 마무리



필자는 수년간 리눅스 컴퓨터를 메인으로 사용해 왔다. 현재 회사에서도 메인컴퓨터로 Ubuntu 16.04 LTS 를 사용하고 있다. 그만큼 필자에게는 친숙한 환경인데, 최근 홈 서버의 백업 서버를 구축하면서 아무 생각없이 ssh를 설치하는데 설치하는 과정을 포스팅해보면 좋을 것 같아 포스팅을 해 본 것이다. 리눅스를 자주 사용하는 사용자들에게는 아주 간단한 방법의 설치이지만, 리눅스를 처음 접하는 사람들은 어려울 수도 있는 부분이다.

필자는 데비안 계열(우분투, 리눅스민트)의 리눅스 설치/사용법에 대해 포스팅을 준비하고 있다. 리눅스를 잘 모르는 사람들도 따라하기 쉽게 포스팅을 할 예정이다.

윈도우 환경보다 새로운 환경을 구성하고 싶은 사용자들은 리눅스를 한번 선택해 보는 것도 좋은 방법 중에 하나일 것이다.


2018년 12월 9일
Kunttang


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,
반응형






01. 원격데스크톱



윈도우를 사용함에 있어 항상 느끼는 고민거리 중 하나가 작업의 연속성이다. 작업의 연속성이란 내가 컴퓨터에서 작업하던 것을 스마트폰에서 바로 이어할 수 있고, 다른 컴퓨터에서 다시 이어할 수 있는 것을 말한다. APPLE사의 환경은 그러한 것들이 잘 되어있다. iCloud 와 애플만의 연속성을 지원하는 플랫폼이 모든 것을 다 알아서 해 준다. MS에서도 이런 것을 인식했는지, 윈도우 8부터는 MS 계정에 로그인을 할 수 있도록 하여 모양은 어느 컴퓨터에서든 동일하게 만들어 준다. 하지만, 계정을 통한 동기화는 MS 의 제품들에 한정되어있고 오히려 동기화가 컴퓨터 사용환경을 방해하는 모습을 보이기도 한다.


그래서 필자는 연속성이 필요한 작업이 있는 경우 원격데스크톱을 이용한다. 노트북이나 휴대폰이 VPN 서버에 연결을 하고, 내부 네트웍으로 윈도우 PC에 RDP 로 접근을 하여 작업을 진행하고 있다. 대표적인 것이 블로그 포스팅 작업과 컴퓨터 견적 작업이다.


원격 데스크톱을 처음 접한 것은 Windows XP 시절 대학교 연구실에서이다. 필자의 대학생 시절에는 교수님 연구실에 소속되어 별도로 공부하곤 하였다. 각 연구실 마다 외부에서 접속 가능한 공인아이피가 몇 개 씩 주어졌었는데 필자는 이 아이피를 컴퓨터에 설정하고, 원격데스크톱이란 것을 설정하였었다. 그리하여 언제든지 수업 과제를 진행할 수 있었고, 연구실 프로젝트에 대한 코드를 작성할 수 있었다. 참으로 신세계였다. 외부에서 항상 동일한 환경을 사용할 수 있다는 것은 작업 능률을 엄청 올릴 수 있었다.




하지만 여기서도 많은 문제가 있었는데 원격데스크톱은 2가지 큰 단점을 가지고 있었다.


첫 번째로는 네트워크 상황에 따라 성능 차이가 심했다는 것이다. 대학생 시절, 남들 보다 신기한 것을 먼저 해보고 싶었던 마음에 넷스팟이라는 KT 무선 인터넷과 노트북을 사용하고 있었다. 대학 캠퍼스 내에는 넷스팟이 전부 지원되는 공간이라 넷스팟 월 정액은 아깝지 않은 금액이었다. 하지만 넷스팟의 인터넷 속도는 원격데스크톱을 부드럽게 쓰기에는 많이 느렸다. 그래서 효과라던지 표현 색상에 대한 설정을 저사양으로 설정하고 사용해야만 간신히 작업을 할 수 있는 수준이었다.


두 번째로는 네트워크 상황이 좋다 하더라도, 그래픽 성능이 엄청 떨어졌다. 동영상 플레이를 할 수 없는 것은 물론이고, 작업 중 마우스 스크롤을 많이 쓰는 작업을 하기라도 한다면, 화면 깨짐 및 딜레이가 엄청났다.



[그림1] 원격데스크톱 연결 프로그램(mstsc)



기술의 발달로 RDP의 버전도 올라가고, 인터넷 속도도 기하급수적으로 빨라졌다. 이젠 원격데스크톱이 실 사용 가능할 만큼 되었다. 하지만, 여전히 그래픽 가속이 필요한 부분에서는 답답함을 느끼게 된다. 이는 RDP 호스트에서 보내는 영상 데이터를 온전히 RDP Client 에서 처리를 해야 하기 때문이다. 따라서 패킷도 많아지고, Client의 부담도 늘어나게 된다. 호스트에 아무리 비싸고 성능 좋은 그래픽카드를 장착하여도 원격데스크톱을 이용할 경우 그래픽 카드의 성능을 1%도 사용할 수 없다.





[그림2] 원격 데스크톱 클라이언트의 옵션타협설정 화면






02. 원격데스크톱도 네이티브 컴퓨터처럼 사용할 수 있을까?



그래픽 성능만 제외한다면, 원격데스크톱의 성능은 수준급이다. 호스트의 성능을 그대로 사용할 수 있을 정도이다. 그럼 그래픽 성능만 해결하면된다. 다행히도 이러한 갈증을 해결해 줄 수 있는 기술이 있다. 바로 remoteFX 이다.



[그림3] Wikipedia 의 RemoteFX 설명 (출처: https://en.wikipedia.org/wiki/RemoteFX)



RemoteFX 기술이 무엇인지를 가장 손쉽게 다가갈 수 있는 Wikipedia에서 찾아 보았다. 일단, MS에서 개발한 것은 맞다. RDP를 위한 향상된 Visual Experience에 대한 기술이다. Windows Server 2008 R2 SP1 에서 최초 소개가 되었다고 한다. 설명만 읽어보게 되면 RDP 의 그래픽 성능을 향상시킬 수 있을 것으로 보인다.


 




[영상1] RemoteFX를 이용한 게임 플레이 영상



성능이 얼마나 좋을지 RemoteFX 를 활용한 영상을 유튜브에서 찾아 보았다. 3년전 영상이긴 하지만, RDP에 RemoteFX 기술을 적용하니, 게임플레이까지 가능하고, 실행 수준에 머문 것이 아니라 심지어 게임을 즐길 수 까지 있는 수준이다. 정말 필자가 원하던 그림이 나오기 시작한다.




03. RemoteFX의 조건



[그림4] Wikipedia 의 RemoteFX 요구사항 (출처: https://en.wikipedia.org/wiki/RemoteFX)



RemoteFX를 사용하기 위한 조건을 살펴본다. 일단 Windows 10 은 Version 1511 부터 지원을 한다고 한다. 현재 Windows 10 RS4 버전이 1803이니, 현재 버전이면 충분히 지원 가능한 조건이다. 그런데, client Hyper-V 라는 부분이 있다. 아무래도 Virtual Machine 상에서 지원이 가능한 것으로 보인다. 네이티브로 쉽게 설정될 수 있는 부분은 아닌 것으로 보인다.




vGPU Requirement 부분을 살펴보면 조금 더 명확해 진다. Hyper-V 는 호스트에 설치가 되어있어야 하는 필수조건이다. 그리고 Hyper-V 상의 VM 에서 동작을 한다고 한다. 역시 RemoteFX는 가상화 솔루션의 일부였다. 이 말의 의미는 결국 Windows 10 호스트 PC에 Hyper-V 를 이용한 VM 을 생성하고, 그 VM이 RemoteFX 기술을 사용한다는 것이다.


추가 조건을 살펴보니, DirectX 11.0 을 지원하는 그래픽 카드에 WDDM 1.2 드라이버가 서버에 설치 되어 있어야 한다. 즉, 호스트 PC 가 서버가 되는 것이고, 그 호스트 PC에는 DirectX 11.0 을 지원하는 그래픽카드가 장착되어있고, WDDM 1.2 이상의 드라이버로 구동되고 있어야 한다는 의미이다. 그 호스트 PC에 Hyper-V를 이용하여 VM 을 만들게 되면 호스트 PC의 GPU 자원을 remoteFX 기술을 이용하여 활용할 수 있다는 의미이다.




04. 조건을 알았으니, 충족하는지를 확인해 보자



필자가 RDP 용으로 사용하고 있는 서버는 필자의 메인 노트북인 Lenovo E440 모델이다. 평소에 최대 절전모드로 진입해 있고, RDP 사용이 필요할 경우 Wake On Lan 을 통한 Magic Packet으로 깨운다음 RDP 로 접근하여 사용하고 있다. Lenovo E440 모델은 Intel(R) HD Graphics 4600 내장그래픽과 Nvidia Geforce 840M 이라는 외장 그래픽이 장착되어 있다. 사실 노트북으로 게임을 하지 않으니, 지금까지의 외장그래픽은 무용지물이었다.


[그림5] Lenovo E440 그래픽 사양



드디어 GeForce 840M 이 빛을 보는 순간이 오는 것인가? 드라이버도 확인해 보았다. 이미 2016년 이후에 출시된 840M 드라이버들은 WDDM 2.1 을 지원하는 드라이버였다.


그럼 DirectX 11 이상을 지원하는 지 확인하면 된다.





[그림6] Nvidia 공식 홈페이지 840M 특징 설명 (출처: https://www.nvidia.co.kr/object/geforce-840m-kr.html)





05. 이제부터 시작이다.



기술을 알았고, 그 기술에 대한 범위를 알았다. 준비물도 준비가 되었다. 준비물이 기술에 대한 준비가 되었는지도 확인이되었다. 이제 시작만 하면 된다. 


어떤 기술들은 시작과 동시에 적용이 끝날 만큼 설정이 쉽다. 어떤 기술들은 가이드 대로 하면, 까다롭긴 하지만 순조롭게 진행이 된다. 최악의 경우는 간단할 것 같아 시작했지만 생각지도 않은 문제가 튀어나올 경우이다. 


이번 RemoteFX 역시 그러한 기술이 있다 정도만 듣고 정보를 수집해 본 것이다. 정보를 수집하면서 가상환경을 이용해야 한다는 것을 처음 알았고, 그 가상 환경은 Hyper-V 를 이용해야한다는 것이다. RDP 서버에서 remoteFX 를 지원하게 설정한 다음에는 remoteFX를 지원하는 RDP Client 를 선정해야 할 것이다. 윈도우 사용자라면 윈도우에 포함되어 있는 RDP 클라이언트(mstsc)를 사용하면 되겠지만, 리눅스 사용자 또는 안드로이드 사용자는 어떻게 할 것인가?




정보를 찾아보니, 리눅스와 안드로이드 모두 정답에 근접한 솔루션이 있다.(아이폰은 확인해 보지 못했다.)


일단 시작하는 단계이니 차근차근 호스트 설정부터 해본다. 2부에서 계속 진행하기로 한다.





2018년 8월 22일

Kunttang


반응형
블로그 이미지

매깡

- 각종 문의는 메일로 해주세요. 메일: soriel01@nate.com

,