SSHでVPNっぽいことできるという話

あまり知られていないようだったので。

以下のような構成で赤い矢印のファイアウォールを開けれないとき(社内の申請面倒だとか、セキュリティ的にもProxyサーバへの通信が開きっぱなしにしたくないとか)に、青の矢印で通信をさせる。

f:id:seireinetwork:20180223222341p:plain

TeraTermだと

1.「設定」→「SSH転送」をクリック

f:id:seireinetwork:20180223223520p:plain

2.「追加」をクリック

3.「リモート」 にチェックをつけ、
 「8812(サーバAが使っていないポート番号なら何でも)」を入力、
 to local mechine→「192.111.111.111(ProxyサーバIPアドレス)」
 port→「8080(Proxyサーバのポート)」
 と入力し、「OK」をクリック

f:id:seireinetwork:20180223223701p:plain

4.元の画面に戻ったら「OK」をクリック
5.「設定」→「設定の保存」をクリック

f:id:seireinetwork:20180223223755p:plain

6.そのまま「保存」をクリック

f:id:seireinetwork:20180223223849p:plain

7.「ファイル」→「新しい接続」でサーバAに接続するか、
  すでに接続している場合は「ファイル」→「セッションの複製」をする。

8.export http_proxy=http://localhost:8812/
  とすることで青矢印の通信経路でProxyサーバに行くことになる。
  *認証情報が必要なProxyの場合は
  export http_proxy=http://userid:password@localhost:8812/
  とすることで、URLにユーザID(これだとuserid)と
  パスワード(これだとpassword)を埋めることができる。

9.あとはyum check-updateでもwgetでも。

 

CentOSやUbuntuServerではこの通信手段が標準で許可されており、
設定を逆(?)にすることで、以下のような使い方も可能となる。

f:id:seireinetwork:20180223224244p:plainもともとサーバAと他のサーバ間にファイアウォールがないことに問題があるが、
サーバAの保守委託先にはサーバAしかアクセスできないようにしているつもりがどのサーバへもアクセスできてしまう事に気づいていない方が多い。

切っておきたい場合は
/etc/ssh/sshd_config
 AllowTcpForwarding No


*そんなことよりサーバAから他のサーバへ行かせないようにするべき…