SSH tunneling. (= SSH fowarding)
DataEncryption을 지원하지 않는 어플리케이션도 이 기술을 쓰면 안전하게 데이터를 전송할 수 있다. SSH터널(암호화된 통로이므로, 터널이라고 불리운다.)로 일반 어플리케이션 사용하기. FireWall을 우회하기 위한 방법으로도 쓰인다.
사용예제
8820포트로 웹서비스를 하는 서버가 있는데, FireWall로 저 포트가 막혀있으나, SSH는 열려있다면,
$ ssh -L8080:localhost:8820 SSH서버명
명령으로 서버에 SSH서버에 접속하면, 내컴퓨터에서 localhost:8080 으로 SSH서버의 8820 포트를 연결하는 터널이 생긴다.
6667포트의 IRC서버에 접속하고 싶은데, FireWall로 나가는 포트가 막혀있으나, SSH는 열려있다면,
$ ssh -L 6667:irc.freenode.net:6667 user@yourserver.net
명령으로 서버에 SSH접속하면, 127.0.0.1/6667 주소로 irc.freenode.net 에 접속할 수 있다.
SSH자체가 외부와 단절되어 있는 내부네트워크와 연결하고 싶은 경우, (보통 10000번 이상의 포트는 방화벽체크하지 않음을 이용), 외부에서 10222포트 SSH서버를 열고
$ ssh -p 10222 -R 10066:localhost:22 user@yourserver.net
명령으로 yourserver에 접속하면, yourserver에서는 localhost:10066 으로 해당 외부 SSH서버(22)에 접속할 수 있다.
방화벽으로 접속되지 않는 웹사이트가 있을 경우
$ ssh -D11111 user@yourserver.net
로 연결하고 프록시서버설정 소켓부분에 localhost, 11111 쓰면 접속