본문 바로가기
Linux/Ubuntu

Ubuntu(우분투) ssh server 설치, port forwarding ssh, 홈 desktop으로 ssh server 열기

by ahsung 2019. 12. 29.

sudo apt-get update

sudo apt-get upgrade

 

sudo apt-get install openssh-server

 

vi /etc/ssh/sshd_config

 

#의 주석처리 부분을 지우고 값을 변경할 수 있음

ex) 

위 사진의 커서가 있는 부분에 #을 지우고 Port 8080으로 바꾸게 되면  외부에서 ssh-server로 접속하는 포트가 8080으로 바뀐다.

 

 

Port Fowarding

 

일반적인 Home Desktop는 고정ip가 아니기 때문에 ssh-server에 바로 접속 할 수는 없다.

해결방안으로는 고정ip 혹은 DNS를 구입하는 방법이 있다.

두 방법 모두 돈이 드는 방법이지만,  개인적으로 사용할 용도라면 포트포워딩을 추천한다.

 

 

먼저 포트포워딩을 하기 위해서는 현재 사용하고 있는 공유기의 설정 사이트를 가야한다.

보통 사용하고 있는 통신사에서 기능을 제공하고 있다.

 

접속방법은 2가지 있는데

두가지 방법모두 공유기 기계의 뒷면에 적혀있는 사이트의 초기 비밀번호가 필요하다.

1. 통신사에서 배급해준 ip로 직접 web에 로그인 하는 방법

 네이버 같은 사이트에 "ip 확인"을 검색하면 쉽게 통신사에서 배급받은 자신의 현재 ip를 알 수 있다.

 터미널에서 명령어를 통해 ip를 확인 할 수 있지만 일반 통신사를 통해 인터넷을 사용하고 있다면

 192.168.~ 혹은 172.16. ~ 가 나올 것이다. 이 주소는 공유기(NAT)에서 배급받은 ip이고 실제로 통신사에서 배급받은 ip가 아니다.

 실제 통신사에서 배급받은 ip를 주소창에 적어 로그인하게 되면 위 사진과 같은 공유기 설정 웹으로 들어갈 수 있다.

2. 공유기 뒷면(공유기마다 다를 수 있음)에 적혀있는 설정 웹주소찾기

 공유기을 보면 공유기 ip설정 웹사이트로 들어가는 주소가 보통 적혀있다.

 아무리 찾아도 보이지 않는다면 1. 방법을 사용하거나, 현재 컴퓨터에 할당된 ip가 "192.168.219.104 "로 확인되었다면

 공유기에 할당된 내부 ip는 " 192.168.219.1 "일 확률이 매우 높다.

 위 사진처럼 주소창에  192.168.219.1를 검색하여 위 사진의 사이트로 접속할 수 있다.

 

 

사이트 로그인 후

 

사이트의 생김새는 공유기마다 다를 수 있다.

하지만 내부 구조는 거의 비슷하다.  

 

첫번째로 DHCP 할당으로 공유기가 각 기기마다 할당해준 내부 ip주소 정보가 있을 것이다.

 

문제점은 컴퓨터가 네트워크를 끊었다가 다시 연결하거나 여러 이유로 할당 받은 ip가 변할 수 있다.

예로 wi-fi로 공유기에 받는 ip는 매번 바뀔 수 있다.

 

그러므로 ssh-server를 사용하는 기기에 고정적으로 내부 ip를 할당하게 설정해주어야 합니다.

 

기기의 고유한 하드웨어 주소(mac)은

네트워크 설정에서 쉽게 확인 할 수 있습니다.

이제 NAT 설정을 찾아 들어가셔서 포트포워딩을 찾으면 됩니다.

외부에서 ssh 서버를 들어가기 위한 포트 주소에 맞춰 서비스 포트를 설정해주세요.

보통의 ssh-client들 경우 default로 22번으로 접속하게 되어있습니다. 특별히 보안을 신경써 들어가는게 아니라면 22번을 설정.

 

** 서비스 포트에서 공유기 설정 웹에 사용하는 포트는 사용하면 안됩니다. 

** 포트에 대한 언급이 없다면 80번을 사용 하고 있을 것 입니다.

 

내부포트는 위의 설명에 있었던 ssh-server를 구동하는 Desktop에서 sshd-config에서 설정했던 포트로 해줍니다.

파일을 수정하지 않았다면 default는 22번입니다. 

 

접속시에는 내부 ip가 아닌, 통신사에서 할당받은 ip로 로그인 하시면됩니다.

외부 centos에서 접속하는 모습

ssh [계정명]@ip주소

password: Desktop에 로그인하는 계정의 비밀번호

 

내부 ip의 경우는 어느 공유기에서나 내부에서 할당하고 사용 할 수 있는 ip이고 위치를 특정할 수 없어 공개되어도 상관없습니다.

하지만 개인 ip, 통신사에서 할당해준 ip의 경우는 유출 될 경우 보안의 위험이 있으니 조심하시길 바랍니다.

 

또한 통신사에서 할당해준 ip는 고정ip가 아닌 유동ip입니다.

보통 유동 ip도 갑작스럽게 변하는 경우는 흔치 않지만

유동 ip는 컴퓨터를 오랫동안 사용하지 않거나, 그 외 특별한 경우에 통신사측에서 ip를 회수 했다가 다른 ip를 할당할 수 있습니다.

그러므로 포트포워딩을 사용하여 서버컴퓨터를 쓸때에는 개인적이거나 소규모로만 추천드립니다.

 

위 포트포워딩의 원리를 간단하게 설명하자면

 

ssh client(외부 컴퓨터)  ---- 고유한  ip,   port: 22 ---->      고유ip의 공유기 --->>

---포트포워딩 규칙에 따라 22번 port로 들어온 정보는  내부 특정 ip:~~~의 내부 port : ~~로 연결-----> Desktop 컴퓨터에 연결

 

댓글