Ubuntu 서버를 설정하고나서 ifconfig를 치면 IP정보를 볼 수 있다.

여기에서 eth0(192.168.0.7) 은 유선 LAN 카드이고, wlan0(192.168.0.2)는 무선랜, 즉 연결된 WIFI에 해당되는 IP 주소이다. 이 IP 를 사용해도 원격접속은 가능하다. 하지만 그건 같은 내부 네트워크를 공유하고 있는 경우에 한해서다. 여기에서 192.168.0. 대역으로 설정된 것은 같은 공유기 내부에서 재설정해준 iIP 이기 때문이다. 따라서 집안이나 회사안에서야 이정도 설정으로도 원격 작업을 할 수 있으나, 원거리에서는 접속이 불가능하다. 


그렇다면, 집 ->회사 로 접속하거나, 회사->집 이라던지. 집밖의 카페나 공공장소에서 집에 있는 서버에 접속하려면? 방법은 공유기 회사에게 감사한 마음을 가지기만 하면 된다.ㅋ 보통 시장점유율이 높은 iptime 공유기같은 경우, 원격으로 공유기에 접근할 수 있도록 실제 주소를 알려준다. 도메인 설정도 가능하다. (다른 공유기들도 제공하는 것 같으나.. 확인은 못했음)  iptime 공유기를 사용하는 경우 인터넷 브라우저에서 주소창에 192.168.0.1 을 입력한다. 다음 관리설정 페이지로 접속될 것이다.

동적 IP 연결됨 - 옆에 IP 주소가 나온다. 여기에서는 모자이크로 표현했으나, 설명을 위해 19.23.41.44로 가정해보자. 여기에서 관리도구를 선택한다. 그럼 로그인을 하라고 한다. 만약 처음에 아무런 설정도 해놓지 않았다면 그냥 접속되려나?? 그렇담 접속해서 반드시 관리자 계정과 패스워드를 만들기를 추천한다. 보안상 위험하므로..

로그인한 다음에는 좌측 메뉴에서 고급설정-특수기능- DDNS설정을 선택한다.

서비스 공급자는 ipTime DDNS 이고나머지 호스트 이름과 계정, 암호를 입력하여 호스트를 생성한다. 여기에서는 설명을 위해 호스트 이름을 abcd로 하겠다. 그럼 주소는 abcd.iptime.org로 부여가 된다. 계정은 이메일주소 형식이다. 입력후 설정을 누르면 밑에 쪽에 칸이 생기면서, 접속상태가 표시된다.
여기에서 계정과 암호는 나중에 외부에서 접속하여 설정을 다시바꾸거나 혹시 패스워드를 까먹었을때 사용된다. 별로 쓸일이 드물어서 걍 대충입력했다가 꼭 나중에 필요한 상황이 생기면 당황하기 마련이니.. 핸드폰 메모장 어딘가에라도 적어두는 편이 좋을듯..


한가지 더 설정해주어야 한다. 포트설정이다.

좌측메뉴의 보안기능-공유기 접속관리이다. 여기에서 원격 관리 포트 사용에 체크하고 사용하고자 하는 포트번호를 입력한다. 예를들어 1234로 하겠다. 무튼 이렇게 등록을 했다면, 웹브라우저 주소창에 abcd.iptime.org:1234 로 접속으로 할 수 있게 된다. 접속을하면 위에서 보았던 '공유기 관리 페이지'화면을 보게된다. 이것은 내부 네트웍 뿐만아니라 외부네트웍에서도 접근 가능하다. 여기까지는 '공유기'에 접속하는 과정일 뿐이다. 이제는 공유기에 접속한 후, 해당 공유기에 물려있는 서버에 접속해보자. 일명 '포트포워딩'이라고 한다.

공유기 설정에서 NAT/라우터 관리 - 포트포워드 설정을 선택한다. 정의된 리스트에는 http, telnet, ftp등이 있는데, 그것을 원한다면 선택하면 된다. 사용자 정의를 선택하고 ssh로 규칙이름을 생성해 보았다. 내부 IP주소 설정이 나오는데, 해당 공유기에 물려있는 것 중 해당 포트로 접속을 시도할 경우 어디에 연결할지 설정하는 것이다. 아까 맨위에서 Ubuntu 의 IP는 192.168.0.7(유선)과 192.168.0.2(무선)으로 두가지가 있었다. 유선 LAN의 IP인 192.168.0.7로 설정을 하겠다. (이유는 WOL기능을 사용하기 위해서인데, 이 기능은 유선으로만 가능하다. 그건 나중에 포스트로 자세히 설명..) 

그리고 밑에 "현재 접속된 PC의 IP주소로 설정"이라고 나오고 옆에 ip가 나온다. 이걸 체크하면 그 pc로 하겠다는 것이다. 지금 사진에 나온 192.168.0.5는 이 글을 쓰고 있는 pc의 ip가 나온 것. 이렇게 해놓고 프로토콜은 tcp/udp 하고 포트는 전부 22로 쓰면 된다. 이제 '추가'버튼 클릭. 그럼 이제 내 공유기에 접속하여 22번 port에 대한 요청이 시도된다면, ssh규칙에 따라 192.168.0.7에 연결하게 된다.

접속할수 있는 방법은 여러가지다. Mac에서 터미널을 사용하여 접속하는 것을 가정해보자.

위와 같이, 터미널 윈도우에서
ssh 서버계정명@서버ip를 입력해준다.



그럼 해당 서버의 cpuu계정의 패스워드를 물어본다. 입력한다. (이때 ***과 같이 표시가 안되는것이 정상이니 안보이게 그냥 입력하면 됨.) 패스워드가 맞으면 접속이 될 것이다. 여기에서 192.168.0.7은 내부 IP이니 같은 공유기를 통한 네트워크에서만 사용할 수 있는 주소이다. 위에서 설정한 DDNS를 통해 접속한다면 외부네트워크에서 접속이 가능해진다. 이때 주소는 다음과 같은 방법이 모두 가능하다.
192.168.0.7 대신에 위에서 확인한 공유기의 ip주소 : 19.23.41.44 그리고 해당 공유기 주소에 부여해준 이름을 통해서도 접속 가능 : abcd.iptime.org

아래는 여러가지 테스트 환경 스크린샷

1) Mac OS X 10.9.2 에서 터미널로 ssh 접속 : abcd.iptime.org 을 사용해서 가능함을 확인

2) 윈도우에서 Putty 프로그램을 사용하여 ssh 원격접속 : 19.23.41.44 을 사용해서 가능함을 확인

3) 아이폰/아이패드에서 SSH 어플리케이션 활용 
iOS 앱스토어에서 ssh를 치면 수많은 어플리케이션이 나온다.  2014. 4월 기준으로 Server Auditor - SSH client and terminal (https://itunes.apple.com/kr/app/server-auditor-ssh-client/id549039908?mt=8)가 가장 인기가 많은 것 같다. 그외에도 iTerminal, WebSSH, iSSH등이 있다. 비싼건 $9.99까지한다. 나는 webssh를 선택했다. (https://itunes.apple.com/kr/app/webssh/id497714887?mt=8)

아이폰/아이패드 버젼 둘다 있다. 기본적으로 무료이고, 몇가지 추가기능이나 지속시간 연장을 위해서 $1.99 앱내 업그레이드가 가능하다. 앱을 실행하면 다음 화면이 나온다.



My connection으로 설정한다. (util에 ping을 제공하고, Whois 는 유료버젼 업그레이드 하면 가능)

Host는 위에서도 이야기했지만, 내부일 경우 내부 ip를 써주어도 되고외부일 경우 설정해준 도메인 abcd.iptime.org나 공유기 ip인 19.23.41.44를 쓰면 된다. 이렇게 입력해주고 Connect!

이렇게 프로파일이 생성된다. 앞으로는 이걸 눌러서 기저장된 정보로 손쉽게 접속 가능!


접속이 잘 된다. 사실 이렇게만하면, 외부에서 원격으로 접속하여 얼마든지 작업이 가능하다. 그래도 인간은 끊임없이 불평하고 불만하는 존재이다. 아쉬운 점을 찾아보자. 그렇다면 원격지에 있는 서버 컴퓨터는 항상 켜두어야 하나? 물론 '서버'라 함은 보통은 24시간 운영하는 개념이 맞다. 꺼질 걱정은 하지 않는다. 그렇지만, 서버가 아니라 그냥 쓰는 컴퓨터라면? 그리고 급하게 처리해야하는데 생각해보니 집에 컴퓨터가 꺼져있다면? 원격접속할 수 없지 않은가. 밖에서 꺼져있는 컴퓨터를 켜서 접속할 수는 없을까? 이 방법이 바로 WOL이다. 이건 다음 기회에 설명.!

CPUU님의 창작활동을 응원하고 싶으세요?