4. SSH, 브라우져 설정

프록시 서버가 준비 되었다면 SSH를 사용해 해당 포트를 로컬 포트로 다음과 같이 포워딩해준다. 예를 들어 ssh 서버가 babo.com 이고 계정이 babo라면

ssh -C babo@babo.com -L 8080:babo.com:8080 -f sleep 10000

포워딩 된 포트를 사용하도록 브라우저의 프록시 설정을 해준다. 만약 tinyproxy를 사용한다면, http proxy 에 localhost:8080 으로 nylon을 사용한다면 SOCKS Host를 localhost:8080 으로 설정하면 된다.

이제 브라우저는 ssh가 만들어 놓은 터널을 통해 ssh 서버의 프록시 서버를 사용하게 될것이다. 이 터널안을 흐르는 모든 데이터는 압축되므로 트래픽도 절약될 것이다.

좀더 효율적인 ssh 접속을 위해 ssh protocol 1을 사용할 경우 ~/.ssh/config 파일에 CompressionLevel 를 지정해 줄수 있다. man 페이지에도 나와 있듯이 일반적으로 6 으로 설정해주는 것이 속도나 압축 효율면에서 좋았다.

만약 자신의 박스외에 같은 로컬 넷트워크상의 다른 박스가 포워딩된 프록시 포트를 사용하려면 ~/.ssh/config 파일에 GatewayPorts yes 를 추가해 주어야 한다. 이 옵션이 없을 경우 loopback에 포트가 바인딩 되기 때문에 다른쪽에서 접속할수 없기 때문이다.