web-dev-qa-db-ja.com

Shadowsocks経由のSSHですか?

シャドウソックスを介してSSHトラフィックをルーティングするにはどうすればよいですか?

万里の長城の背後からシャドウソックスを使用してサーバーに接続しています。発信SSH接続を作成したいのですが、SSHトラフィックが識別され、その結果、接続がシャットダウンされるのではないかと心配しています。したがって、すでに機能しているSOCKS5プロキシを介してSSHトラフィックをルーティングできるようにしたいと考えています。

どこでこれを達成し始めますか? SOCKS5プロキシ経由で出力がルーティングされるポートの範囲を提供できる仮想ネットワークアダプターを作成する必要があると思いますか?

3
Hefaestion

Shadowsocksの構成が次の場合:

  • ローカルアドレス:127.0.0.1
  • ローカルポート:1080
  • サーバーIP 42.42.42.42

独自の構成に変更する

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)

  1. 設定
  2. 通信網
  3. プロキシサーバー
  4. 設定を入力してください
  5. localhostのプロキシを無効にすることを忘れないでください

enter image description here

または、すべてのプロキシリダイレクトを環境に追加する

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'
6
Barre_k

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を参照してください。)

0
legolas108

より簡単な方法があります。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を設定します。実行されていない場合は、プロキシを使用せずに、通常どおり接続します。

0
domoarigato