外出先からInternet経由で、Public Cloudの Bastionへ接続するとき、Global IPが信頼できるところから接続できると安心です。
ということで、外から自宅へSSL-VPN接続を行い、自宅のProxy Server経由でOracle Cloud Infrastructure (OCI)へssh接続してみてみます。
そしてついでに、ssh ポートフォワーディングで、外部からnginxのWebサーバーへブラウザ・アクセスできるようにしてみてみます。
#■ 接続イメージ
今回は既に上記構成された環境から、sshを実行してOCIのBastionへ接続してみてみます。
OCIのRoute Tableへ、Proxy ServerのPublic IPのみを登録してその他IPからは外部接続できないようにしておきます。
#■ ssh接続構文
Proxy Server 経由のssh接続は次のようになります
ssh -i <ssh鍵ファイルパス>
-o ProxyCommand='nc -X connect -x <プロキシURL>:<プロキシPort> %h %p'
<ssh接続User>@<ssh接続サーバーIP>
#■ 外からVPN-Proxy経由でOCIへssh接続
##● 自宅へClient VPN接続
今回は、Ciscoの環境なのでCisco Any ConnectでMy HomeへVPN接続します
##● OCIへssh接続
- ssh接続
[shirok@macbook:~]$ ssh -i id_rsa -o ProxyCommand='nc -X connect -x www-proxy.myhome.com:80 %h %p' opc@1.2.3.4
Last login: Sun Nov 8 13:04:46 2020 from 100.100.100.101
- ssh 接続確認
[opc@bastion ~]$ hostname
bastion
3)ssh接続LOG確認
Proxy Server のGlobal IP 100.100.100.101 から接続されていることを確認
[opc@bastion ~]$ sudo tail -f /var/log/secure
Nov 8 13:05:01 bastion sshd[5887]: Received disconnect from 100.100.100.101 port 58926:11: disconnected by user
Nov 8 13:05:01 bastion sshd[5887]: Disconnected from 100.100.100.101 port 58926
Nov 8 13:05:01 bastion sshd[5884]: pam_unix(sshd:session): session closed for user opc
Nov 8 13:05:04 bastion sshd[5932]: Accepted publickey for opc from 100.100.100.101 port 59330 ssh2: RSA SHA256:xtbTEsTmIDAgqBGWZld1
Nov 8 13:05:04 bastion sshd[5932]: pam_unix(sshd:session): session opened for user opc by (uid=0)
#■ sshポートフォワーディング
上記のssh接続にsshポートフォワーディングを追加して、OCI内にあるnginxのWebサーバーへブラウザアクセスしてみてみます
##● ssh接続構文
Proxy Server 経由のssh接続は次のようになります
ssh -i <ssh鍵ファイルパス>
-o ProxyCommand='nc -X connect -x <プロキシURL>:<プロキシPort> %h %p'
-L <Mac Book 1024番以上の任意のポート>:<nginxサーバーPrivate IP>:<nginxサーバー httpポート番号>
<ssh接続User>@<ssh接続サーバーIP>
##● ssh ポートフォワーディング実行
Mac Bookで以下実行して、nginx(10.0.10.3)のWebサーバー80ポートを外出先Mac Bookの8080へポートフォワーディングします。
[shirok@macbook:~]$ ssh -i id_rsa -o ProxyCommand='nc -X connect -x www-proxy.myhome.com:80 %h %p' -L 8080:10.0.10.3:80 opc@1.2.3.4
Last login: Tue Nov 8 13:33:57 2020 from 100.100.100.101
##● 動作確認: Webサーバー ブラウザ・アクセス
Mac Bookから、ブラウザで、 http://localhost:8080 で接続して、 nginxのWebサーバー 80番ポートへアクセスできることを確認