본문 바로가기
프로그래밍/홈 서버 운영 노하우

[원모 싸이버 홈 서버 운영 노하우] SSH 연결하고 Nginx 설치하기

by yonmoyonmo 2021. 7. 20.

서버에 키보드와 모니터를 연결해놓고 작업할 때마다 서버 쪽으로 가는 것은 엄청 귀찮습니다.

자주 쓰는 PC에서 서버에 원격접속 하여 작업하는 것이 좋습니다.

원격 접속을 안전하게 도와주는 프로토콜이 있는데요

그것이 바로 SSH(Secure Shell)입니다.

이번 포스팅에서는 SSH를 자세히 설명하지는 않겠습니다.(궁금하시면 구글링~)


SSH 연결하기

일단 서버에 ssh 서버를 설치해야 합니다.

~$: sudo apt-get install openssh-server

설치가 안된다면?
~$: sudo apt-get update
한 번 하고 해보긔

설치하면 자동으로 ssh 서버가 켜져 있습니다.

진짜 켜졌는지 보고 싶다면 다음 명령어를 입력합니다.

~$: sudo systemctl status ssh

Active : active (running) : 켜졌다는 뜻

보통 설치하면 ssh 서버는 port 22번에서 리스닝하게 됩니다.

ssh 22번은 만국 공통 디폴트입니다.

그래서 보통 서버를 설치하면 22번 포트로 들어오는 불순한 의도를 차단하기 위해 ssh포트를 바꾸곤 하지요

하지만 일단은 22번으로 마저 설명하겠습니다.

이제 ssh 클라이언트를 준비해야 합니다

macOS의 경우 그냥 터미널에서

~$: ssh username@123.456.789.100

하면 접속이 됩니다.

디폴트로 openssh client가 설치되어 있나 봐요

username : 서버 설치할 때 설정한 유저명

@뒤의 숫자와 점 : 여러분들의 IP

* 지난 포스팅에서 고정해 놓은 내부 IP를 입력하는 경우 같은 공유기를 쓰는 노트북 등에서만 접속이 가능합니다. *
* 공유기에 접속해서 인터넷 연결 정보의 공인 IP를 입력하실 경우 앞으로 설명할 port forwarding이 필요합니다. *

windows 경우 제가 애용하는 ssh-client가 있습니다.

바로바로 Putty

 

Download PuTTY - a free SSH and telnet client for Windows

Is Bitvise affiliated with PuTTY? Bitvise is not affiliated with PuTTY. We develop our SSH Server for Windows, which is compatible with PuTTY. Many PuTTY users are therefore our users as well. From time to time, they need to find the PuTTY download link. W

www.putty.org

푸티 사용법 설명을 위해 윈도즈 피씨를 켜고 하려니 귀찮으므로 다른 분께서 설명해 놓으신 것을 링크 걸겠습니다...

 

SSH 접속프로그램 PuTTY 사용법

SSH 프로토콜은 웹호스팅을 이용하거나, 리눅스서버에 접속하기 위하여 사용하는 원격접속 툴이다. Pu...

blog.naver.com

 

제가 설명드린 방법이 아닌 다른 어떤 ssh client를 쓰셔도 아무튼 잘 연결될 것입니다.


이제 앉은자리에서 바로 서버에 접속할 수 있게 되었습니다!

현재 여러분들의 홈 서버는 IP가 고정되어 있고 22번 포트로 ssh 접속을 할 수 있는 상태지요?

하지만 아직 웹 서비스를 위한 서버라고 보기 어렵습니다!

잠깐! 근데 웹 서비스는 뭘까요?

웹 서비스

네트워크를 통해 서버 컴퓨터와 클라이언트 컴퓨터가 데이터를 주고받을 수 있도록 설계된 소프트웨어 시스템 전부를 웹 서비스라고 할 수 있습니다. 원격지의 다른 컴퓨터의 하드웨어와 자원을 이용하여 필요한 작업을 하게 된다는 점에서 일종의 분산 컴퓨팅 시스템이라고 할 수도 있지요. 보통 TCP위에서 HTTP/HTTPS를 사용해서 요청하고 응답하는 구조로 되어있습니다.

쉽게 생각하면?
API 서버를 만들어서 클라이언트에서 네트워크로 요청하여 응답을 받을 수 있도록 하면 그것이 웹 서비스이지요.
이 과정에서 RESTful 한 방식을 쓴다 하면 그것은 웹 서비스를 위한 인터페이스가 됩니다.
흔히 웹 개발한다고 하면 이런 웹 서비스 시스템의 소프트웨어를 하나하나 개발해 나간다고 생각하면 되겠지요?

웹 사이트는 그럼 무엇일까요?
역시 웹 서비스의 일종이라고 볼 수 있겠지요? 브라우저에서 어떤 서버로 자원을 요청하고 응답받는 것이니까요?

그렇군요! 우리들의 홈 서버의 사용 목적은

API 서버도 만들어 넣어 넣고,

html, css, javascript도 넣어 놓고,

서버 밖의 요청에 응답하기였습니다!

그러기 위해서는 80번(HTTP) 포트와 443(HTTPS) 포트를 리스닝하는 무엇인가가 있어야 하겠습니다.

그것이 바로 nginx이죠! 물론 다른 프로그램도 많습니다만 아무튼 저는 nginx가 최고라 생각합니다!


Nginx 설치하기

nginx(엔진엑스)는 무엇일까요?

아주아주 강력한 HTTP/HTTPS 서버 프로그램입니다. 흔히 웹 서버라고 하지요.

아파치와 아주 비슷하다고 하는데 저는 아파치를 안 써봐서 모르겠습니다.

거기다가 오픈소스이기 때문에 공짜이지요!

~$: sudo apt-get install nginx

끝입니다.

서버 IP로 접속해 보면 nginx의 기본 웰컴 페이지가 환영해 줄 것입니다!

(아직 포트 포워딩을 하지 않았으니 같은 공유기를 쓰는 네트워크 환경에서 고정한 IP로 접속하면 됩니다)

nginx에 대해 자세히 다루는 시리즈 포스팅을 언제 한 번 하려고 합니다.

그러니


이제 어느 정도 웹 서비스를 위한 홈 서버 구색을 갖추었는데요?

아직 어디서나 서버에 접근할 수 있는 설정을 하지 않았습니다.

포트 포워딩이라는 것을 해야 합니다.

다음 포스팅은 포트 포워딩?

댓글