ssh 터널링을 학습하던중 질문입니다.

서버/유선/무선 네트워크 설정에 관한 문제 해결(웹브라우저와 관련한 부분은 소프트웨어나 멀티미디어/코덱 게시판으로 문의하세요).

Moderator: Dry8r3aD

Post Reply
moozan
Posts: 66
Joined: 2011/03/06 Sun 10:59 pm

ssh 터널링을 학습하던중 질문입니다.

Post by moozan » 2015/07/17 Fri 6:29 pm

제가 늦게나마 ssh 터널링을 해보려고 합니다. 여기저기 찾아보고 몇 일을 고민했지만 안됩니다. 여러분 도움 부탁드립니다. B는 클라이언트입니다. A는 ssh, vnc server를 구동중입니다. 저는 B에서 A로 ssh 터널링을 이용해서 vnc server에 접속할 계획입니다. 질문은 다음과 같습니다.

1. ssh 터널링으로 실습해보려는 것은 vnc server접속입니다. 저기.... vnc server의 port를 열어놔야 합니까? 제가 22번 port만 열었습니다. vnc server의 5901은 열지 않았습니다. 왜냐하면 ssh 터널링을 사용하니까 열지 않아도 될 것으로 생각했습니다.

2. ssh 터널링이 되려면, B에서 A로 ssh접속한 후입니까? 그 다음에 vncviewer를 사용합니까?

3. "ssh -L ~~~"는 클라이언트에서 "ssh -R ~~~"는 vnc server에서 해야 하는 것은 아니죠? 어차피 둘 다 마지막에 ssh server가 들어가니 어디서 해도 상관없을 것 같습니다.

질문이 좀 애매해서 한 번 고쳤습니다. 여러분 도움 부탁드립니다.

------------------------------------------------------------------------------------------------------------------------------------------

- B 컴퓨터 192.168.159.111, 클라이언트
- A 컴퓨터 192.168.159.77, ssh, vnc server 구동중입니다. 22번 포트만 열려있습니다.

B 컴퓨터에서 터미널을 열고 다음을 했습니다.
xcom@nine:~$ ssh -L 22:192.168.159.77:5901 root@192.168.159.77
...
root@192.168.159.77's password:
bind: Address already use
channel_setup_fwd_listener: cannot listen to port: 22
could not request local forwarding
Last login: Sat Jul 18 23:40:53 2015 from 192.168.159.111
[root@ten root]# ======> 현재 sshd에 연결중입니다.

B 컴퓨터에서 또다른 터미널을 열고 다음을 했습니다.
xcom@nine:~$ vncviewer 192.168.159.77:22
vncviewer: ConnectToTcpAddr: connect: Connection refused
Unable to connect to VNC server
xcom@nine:~$

vnc server에 접속이 안됩니다. 분명히 방화벽에서 유일히 열려있는 22번 포트를 사용해 vnc접속을 시도하는 것이 맞는 것 같은데......

------------------------------------------------------------------------------------------------------------------------------------------

처음부터 22번 포트는 사용하면 안됩니다. 1~1023까지는 시스템에 예약되었기에, 사용하려면 1024~65535 내에서 사용합니다. 여러 자료를 찾아보니 ssh 터널링은 방화벽에서 22번 포트만 열려있는 상황에서 접속하는 것입니다. 따라서 vnc server의 5901포트는 물론 아무것도 열지 않습니다. 그리고 답변을 통해 좀 이해된 것 같습니다.

다음은 클라이언트인 B에서 합니다. B는 "192.168.159.111"입니다.

xcom@nine:~$ ssh -L 8008:192.168.159.77:5901 root@192.168.159.77 ---> 이로써 ssh 접속완료.
xcom@nine:~$ vncviewer 192.168.159.77:8008 ---> 또다른 terminal에서 8008을 목표로 접속시도합니다.
vncviewer: ConnectToTcpAddr: connect: Connection refused
Unable to connect to VNC server
xcom@nine:~$

안됩니다. 그런데.... "ssh -L 8008:192.168.159.77:5901"에서 8008이 클라이언트의 포트라는 것은 분명합니다.

제가 DNS를 사용할 때 "192.168.159.111"이 아니라 "127.0.0.1"로도 가능하더군요. 그래서 server를 구동하게 되면 "127.0.0.1"은 별다른 설정없이 접근이 가능하다는 걸 알았습니다.

그러고보니 "vncviewer 192.168.159.77:8008"은 vnc server의 8008번 포트에 접속하려고 하는 것입니다. 그래서 다음을 해봤습니다.

xcom@nine:~$ vncviewer 127.0.0.1:8008

됩니다.

xcom@nine:~$ vncviewer localhost:8008

됩니다.

xcom@nine:~$ vncviewer 192.168.159.111:8008

안됩니다. 역시 "192.168.159.111"은 외부에 물린 것이어서 열어야 합니다. 그러나 그러면 ssh 터널링을 할 의미가 없습니다.

내용을 수정했습니다. 이걸 이해하려고 여기저기 질문하다 오늘 완성했습니다. 위의 내용은 다른 곳에서 질문한 것을 옮겼습니다. 마지막으로 제가 이것저것 적었는데 제대로 이해한 것이 맞나요?

터널링을 처음 시도할때는 쉬워 보였는데 막상 하려니.... 왜 그렇게 모르는 것이 계속 등장하는지 힘듭니다. 지금도 계속 모르는 것이 많습니다. 특히 network는..... 아! 그래도 언젠가는 살짝이라도 전부 이해할 날이 오겠지요?

doodoo
Posts: 147
Joined: 2009/04/13 Mon 1:31 pm

Re: ssh 터널링을 학습하던중 질문입니다.

Post by doodoo » 2015/08/31 Mon 1:55 pm

옛날 문서이긴 하지만 vnc 기본 포트가 5900 이라네요
그리고 다른 문서는 클라이언트가 하나씩 붙을때마다 한개씩 증가 해서 5901, 5902 등등으로 올라간답니다.

http://ubuntuguide.org/wiki/Ubuntu:Mave ... hrough_SSH
https://www.realvnc.com/products/vnc/do ... 47203.html

근데...realvnc 문서에는 59xx 와 58xx 쪽이 다 필요한것 처럼 보이는데...

일단 5900부터 5903 정도까지 테스트 해 보시고

아니면 아래처럼 5900을 5900으로 붙여 보시거나....
http://ubuntuguide.org/wiki/Using_SSH_to_Port_Forward


그나저나 22번으로는 접속해서 ls 명령같은게 되는거죠?(혹시나 해서 ...)

Post Reply