シャドウソックスを介してSSHトラフィックをルーティングするにはどうすればよいですか?
万里の長城の背後からシャドウソックスを使用してサーバーに接続しています。発信SSH接続を作成したいのですが、SSHトラフィックが識別され、その結果、接続がシャットダウンされるのではないかと心配しています。したがって、すでに機能しているSOCKS5プロキシを介してSSHトラフィックをルーティングできるようにしたいと考えています。
どこでこれを達成し始めますか? SOCKS5プロキシ経由で出力がルーティングされるポートの範囲を提供できる仮想ネットワークアダプターを作成する必要があると思いますか?
Shadowsocksの構成が次の場合:
独自の構成に変更する
Sudo apt install connect-proxy
〜/ .ssh/configを編集します
# Outside of the firewall, with HTTPS proxy
Host 42.42.42.42
ProxyCommand connect -H 127.0.0.1:1080 %h 22
## Inside the firewall (do not use proxy)
Host *
ProxyCommand connect %h %p
今すぐ試すことができます:
ssh username@ipserver
iP接続を確認する
netstat -tn 2>/dev/null
通常、あなたはそのようなものを見ることができます
Connexions Internet actives (sans serveurs)
Proto Recv-Q Send-Q Adresse locale Adresse distante Etat
tcp 0 68 69.69.69.69:22 42.42.42.42:42800 ESTABLISHED
その他のスキル
このスクリプトを~/.bash_profile.
に追加します
SOCKS5
export http_proxy=socks5://127.0.0.1:1080
export https_proxy=socks5://127.0.0.1:1080
[〜#〜]または[〜#〜]
HTTP(S)
export http_proxy=http://127.0.0.1:1080
export https_proxy=https://127.0.0.1:1080
webブラウザにWeb接続を設定する場合
Gui way(gnome)
または、すべてのプロキシリダイレクトを環境に追加する
env | grep -iプロキシ
帰らなければならない
HTTP_PROXY=http://127.0.0.1:1080/
FTP_PROXY=http://127.0.0.1:1080/
ALL_PROXY=socks://127.0.0.1:1080/
NO_PROXY=127.0.0.1,localhost
HTTPS_PROXY=http://127.0.0.1:1080/
https_proxy=http://127.0.0.1:1080/
http_proxy=http://127.0.0.1:1080/
no_proxy=127.0.0.1,localhost
all_proxy=socks://127.0.0.1:1080/
ftp_proxy=http://127.0.0.1:1080/
シャドウソックスを介して設定カールをしたい場合
export socks5=socks5://127.0.0.1:1080
そして
curl api.ipify.org
Gitの場合
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
tsocks
はUbuntu 18.04で動作します。
Sudo apt install tsocks
/etc/tsocks.conf
で構成します。
# Local networks accessible without socks server
local = 192.168.0.0/255.255.0.0
# Socks server address
server = 127.0.0.1
# Server type SOCKS5
server_type = 5
# Server port
server_port = 1080
それからあなたは行くことができます:
tsocks ssh USER@SERVER
サーバーの/etc/ssh/sshd_config
にもSSHタイムアウトを設定する必要がありました:
# 10 minutes
ClientAliveInterval 10m
# Max number of client alive messages without response
ClientAliveCountMax 3
これにより、30分後にクライアントが自動的に切断されます。 (これら2つのパラメーターの意味の詳細については、man sshd_config
を参照してください。)
より簡単な方法があります。ssh構成ファイルでmatchディレクティブを使用します。
Match Exec "nc -z 127.0.0.1 1086"
ProxyCommand nc -X 5 -x 127.0.0.1:1086 %h %p
このディレクティブは、ssh(すべてに一致)するたびに実行されます。最初に、nc
を使用してshadowsocksプロキシに接続しようとします。-zオプションは、IOなしでポートを確認することを意味します。私のssocksプロキシはポート1086で実行されています。実行されている場合は、ProxyCommandを設定します。実行されていない場合は、プロキシを使用せずに、通常どおり接続します。