윈도우 서버에 원격으로 접속하는 방법
추천글 : 【운영체제】 운영체제 목차
1. 단계 1. (전처리) 포트 개방 [본문]
2. 단계 2. (전처리) 포트 미개방 방식 [본문]
3. 단계 3. (중간 처리) VPN 설정 [본문]
4. 단계 4. (필수 응용프로그램 설치) RDP(remote desktop protocol) [본문]
5. 단계 5. (필수 응용프로그램 설치) ssh(secure shell) [본문]
6. 단계 6. (기타 응용프로그램 설치) WOL(wake on LAN) [본문]
7. 단계 7. 서버 컴퓨터의 관리 [본문]
1. 단계 1. (전처리) 포트 개방 [목차]
⑴ 포트(port)
① 하부 노드에서 요청을 주는 통로
② 인바운드 트래픽(inbound traffic) : 서버로 들어오는 트래픽
○ 예 : 클라이언트가 서버에 파일을 업로드하는 경우 서버 입장에서 인바운드 트래픽이 있다고 함
○ 공유기에서 인바운드 트래픽은 대부분 막혀 있으므로 포트를 개방해 주어야 함
○ 포트를 개방하는 경우 source는 클라이언트, destination은 서버(공유기)이고 결국 서버에서 개방하게 됨
③ 아웃바운드 트래픽(outbound traffic) : 서버에서 나가는 트래픽
○ 예 : 서버가 클라이언트에게 파일을 전송하는 경우 서버 입장에서 아웃바운드 트래픽이 있다고 함
○ 공유기에서 아웃바운드 트래픽은 거의 항상 열려 있음
○ 가령 클라이언트가 서버로부터 파일을 다운로드 받는 경우가 대표적인 아웃바운드 트래픽
④ 서버 및 공유기 모두 포트 번호를 가짐
⑵ 포트 개방 방식
① 한 노드에서 다른 노드로 트래픽을 전송할 때 다른 노드의 경우 인바운드가 되기 때문에 다른 노드의 포트를 개방해 주어야 함
⑶ 1단계. 포트 포워딩(port forwarding)
① 공유기에서 각 서버로 가는 포트 번호를 바꿔주는 것 : 포트를 개방한다고 표현하기도 함
○ 예 : 사용자가 1234로 접속해 왔을 때 공유기에서 22(기본 포트)로만 접속 가능한 리눅스 컴퓨터를 위해 포트 번호를 22번이었던 것처럼 바꿔서 접속이 가능하게 함
② 모든 ip 주소로 설정 가능한 공유기가 있고 아닌 공유기가 있음
⑷ 2단계. 전산실 포트 개방
① 보안상의 이유로 정해진 포트 중에서도 일부(e.g., RDP 포트, 3389)는 각 전산실 자체적으로 닫아 놓음
② 이 경우 전산실에 문의하여 해당 포트를 개방할 것을 문의
③ 다른 포트를 대신 열어주었으면 regedit를 이용해 서버 컴퓨터의 원격접속 포트번호를 변경
④ 다른 포트를 대신 열어주었으면 1단계에서 해당 포트를 대신 개방해야 함
2. 단계 2. (전처리) 포트 미개방 방식 [목차]
⑴ 포트 미개방 방식
① 중간에 릴레이 서버를 구축한 뒤 사용자들에게 전부 아웃바운드 트래픽만 받아서 포트 개방을 필요로 하지 않음
⑵ 예 1. 팀뷰어(Teamviewer)
① 로그인 기반 원격 접속 프로그램
② VPN과 유사하게 작동하지만 VPN을 이용하는 것은 아님
③ RDP가 아닌 다른 프로토콜을 쓰는 게 아닐까 생각됨
④ 다만, 6개의 알파벳으로 구성된 패스워드를 쓰는 팀뷰어는 brute-force 방식으로 해킹이 가능할 정도로 보안이 안 좋음
⑶ 예 2. Google Chrome Remote Desktop
⑷ 예 3. Zoom
⑸ 예 4. Google Meet
⑹ 예 5. Duo
⑺ 예 6. AnyDesk
3. 단계 3. (중간 처리) VPN 설정 [목차]
⑴ VPN(virtual private network)
① 특정 권한을 가진 유저들만 네트워크에 진입하므로 보안성을 구축한 사설 네트워크망
② VPN은 껐다 켰다 해야 하거나 인터넷 속도가 (아주 약간) 느려진다는 단점이 있음
③ VPN을 구축해도 원칙적으로는 포트를 개방해 주어야 함
④ VPN을 쓰면 서버에 의해 접속이 차단된 ip에도 우회 접속할 수 있음
⑤ 예 : Mareel VPN
⑵ 예 1. wireguard
⑶ 예 2. Tailscale : 와이어가드 프로토콜 위에 UI를 얹은 것
① 개요
○ 장점 1. 무료 계정은 20대 기기까지 등록 가능
○ 장점 2. 보안 우려도 적음
② 1단계. 서버에 Tailscale 설치 후 로그인
③ 2단계. 개인 컴퓨터에 Tailscale 설치 후 같은 계정으로 로그인
④ 3단계. Tailscale 홈페이지에 들어가서 로그인하면 각 기기별로 발급된 VPN 내부용 ip 확인
⑤ 4단계. 내 컴퓨터를 서버에 연결
○ 경우 1. 서버 RDP 연결
○ 경우 2. 내 컴퓨터에서 SSH 연결
⑷ 예 3. wg-easy : 오픈소스 프로젝트. UI도 같이 들어있음
⑸ 예 4. Windows 제공 VPN을 통해 구현
① IPTIME을 이용할 수 있음
② 서버 컴퓨터는 Windows 비밀번호 잠금이 되어 있어야 함
4. 단계 4. (필수 응용프로그램 설치) RDP(remote desktop protocol) [목차]
⑴ 개요
① GUI를 사용할 수 있는 원격 접속
② 동시 접속은 제한됨
③ Windows home edition은 RDP가 작동하지 않음
⑵ 1단계. RDP설치 (리눅스 한정 필수)
① RDP server 및 client는 둘 다 윈도우 내장 기능이라 설치가 따로 필요 없고 간단한 설정만 해두면 됨
② RDP는 마이크로소프트 프로토콜이므로 리눅스에서 별도의 server 및 client를 설치해야 함
⑶ 2단계. client와 윈도우 서버의 연결 (필수)
① 윈도우-윈도우 서버 연결은 RDP가 윈도우 기반이라 네이티브로 잘 지원됨
② 맥-윈도우 서버 연결은 Microsoft Remote Desktop으로 연결
③ RDP 디폴트 포트번호는 3389번으로
5. 단계 5. (필수 응용프로그램 설치) ssh(secure shell) [목차]
⑴ 개요
① 터미널 기반 원격 접속
⑵ 1단계. Windows SSH server 설치 : 2단계, 3단계와 비교하여 선택
① 우분투와 같은 리눅스 OS에서는 많은 경우 SSH server 및 client가 기본으로 설치 및 설정된 경우가 많음
② 우분투와 달리 윈도우에서는 SSH를 설치하기 어려움
③ SSH server와 SSH client를 구분하여 생각해야 함
⑶ 2단계. WSL 설치 : 1단계, 3단계와 비교하여 선택
① WSL(Windows subsystem for linux) : 윈도우 내부에서 Linux를 돌려주는 것으로 가상화와 유사하고 듀얼 OS와는 다름
② WSL은 Python 개발 하에서 환경변수나 path를 관리하기 쉽다는 장점이 있음
③ 설치 튜토리얼
⑷ 3단계. 듀얼 OS 설치 : 1단계, 2단계와 비교하여 선택
⑸ 4단계. 원격 서버에서 SSH 열려있는지 확인
⑹ 5단계. 개인용 컴퓨터(client)에서 VScode Remote-SSH 설치 (링크1, 링크2) : 필수
① Remote-SSH는 마이크로소프트 공식 소프트웨어로 성능이 보장돼 있음
② 서버 주소 입력하고 연결하면 서버 리소스와 개발 환경 그대로 개인용 컴퓨터에서 원격으로 개발할 수 있음
⑺ 6단계. 비밀번호 로그인을 비활성화 하고 RSA key로만 로그인하도록 설정 : 선택
① 보안성을 강화하기 위함
⑻ 7단계. Mobaxtream (무료 소프트웨어), PuTTY 등을 통해 SSH를 더 쉽게 사용할 수 있음
6. 단계 6. (기타 응용프로그램 설치) WOL(wake on LAN) [목차]
⑴ 원격에서 켜고 끄는 소프트웨어 : LAN에서 power 기능을 제공하므로 가능
⑵ WOL은 공유기에서 지원하는 경우도 많아서 이럴 경우 설정만 처음 제대로 하면 핸드폰 어플로 손쉽게 켤 수도 있음
⑶ 물리적으로 연결돼 있지 않은 VPN 상의 서버는 WOL로 켜고 끌 수 없음
⑷ 일반적으로 서버 과열 문제만 없으면 서버 수명은 수 년은 되므로 WOL이 굳이 필요없을 것으로 보임
7. 단계 7. 서버 컴퓨터의 관리 [목차]
⑴ 모니터는 번인(burn-in)이 생길 수 있으므로 꺼두는 게 좋음
⑵ Windows Desktop Protocol 동시 접속이 되지만 하나의 GUI를 공유하므로 현실적으로 한번에 1명씩만 사용 가능
입력: 2022.08.05 00:28
'▶ 자연과학 > ▷ 운영체제' 카테고리의 다른 글
【리눅스】 도커(docker) 사용하기 (0) | 2023.06.02 |
---|---|
【리눅스】 리눅스 서버(Linux server) (0) | 2022.12.29 |
【운영체제】 각론 1강. 리눅스(Linux) (0) | 2021.11.03 |
【맥북】 맥북 사용법 (0) | 2021.10.08 |
【운영체제】 운영체제 목차 (0) | 2019.11.09 |
최근댓글