SSH의 Dynamic Forward로 학교 내 네트워크에 들어가기

하고 싶은 일



집이나 테더링을 한 네트워크에서 학내 네트워크에 들어가고 싶다. 하고 있는 일로는, SSH의 DynamicForward로 터널을 치고, 클라이언트의 Mac측에서 SOCKS 프록시의 설정을 하고 있다. ssh의 설정이 이미 끝나고 있는 사람이면, 5분 정도로 간단하게 할 수 있다.

SSH로 동적 포트 포워드



터미널에서 터널을 치십시오.
$ ssh -D 10080 [email protected]

단순화하는 경우



아래와 같이 설정하면 간략화하는 것도 가능. $ ssh tunnel 로 연결.

~/.ssh/config
Host tunnel
  HostName example.com
  User user
  DynamicForward 10080

백그라운드에서 달리기



명령을 실행할 필요가 없으므로, 백그라운드에서 실행하고 싶은 경우는 이렇게. 터미널 창을 닫아도 연결이 끊어지지 않습니다.
$ ssh -N -f tunnel

연결 끊기



백그라운드에서 달릴 때는 이렇게 절단한다.
$ ps aux | grep ssh
$ kill ****

SOCKS 프록시 설정(Mac)



Mac이라면 システム環境設定>ネットワーク>詳細設定>プロキシ>SOCKSプロキシ 에서 다음과 같이 설정.



터미널에서 온 오프를 전환하고 싶은 경우는 이렇게 한다.
networksetup -setsocksfirewallproxystate wi-fi on

프록시 켜기/끄기를 간소화



이런 쉘 스크립트를 써, ~/.zshrc 어쨌든 alias 붙이면 편리. 터미널에서 한 번에 SOCKS 프록시를 켜고 끌 수 있습니다.

proxy.sh
#!/bin/zsh
e=$(networksetup -getsocksfirewallproxy wi-fi | grep "No")
if [ -n "$e" ]; then
  echo "Turning on proxy"
  networksetup -setsocksfirewallproxystate wi-fi on
  echo 'display notification "ON" with title "proxy.sh"'  | osascript
else
  echo "Turning off proxy"
  networksetup -setsocksfirewallproxystate wi-fi off
  echo 'display notification "OFF" with title "proxy.sh"' | osascript
fi

~/.zshrc
alias proxy='sh /Users/hoge/proxy.sh'

요약



한 번 설정하면 나머지는 쉽게 연결할 수 있습니다.
$ ssh tunnel
$ proxy

참고


  • SSH로 터널링 – nksg.org
  • 특정 네트워크 내에서만 볼 수 있는 웹페이지를 외부에서 보는 방법
  • ssh의 DynamicForward에서 학내 전용 서비스를 집에서 사용 - Qiita
  • Petit Tech : SSH와 SOCKS로 VPN을 시도합니다.
  • SSH 동적 포트 포워드 + Socks 프록시로 내부 페이지 보기 - Qiita
  • 좋은 웹페이지 즐겨찾기