最も簡単に
VPNを張る方法として、
SSH接続をトンネルとする方法があります。かつては
Windowsソフトウェアとして、PortForwarderというトンネル専用のものがありましたが、
Macは
SSHがあるので、すぐに利用できます。
PortForwardと、リモートコマンドの違いですが、リモートコマンドは
SSH経由で、
SSHで入った先でコマンド実行されます。つまり
インタラクティブなコマンドはダメで、
ワンライナーなどということになります。
mysqlをリモートコマンドで実行してもパスワード入力から進めないはずです。そんな時はPortForwardです、クライアントPC側の
localhostの特定ポートで要求を受け、
SSHログイン先から特定のアドレス、ポートに投げます。要は、1ポートだけ機能する、簡易
VPNです。
使い方は簡単
ssh -L [ローカルポート]:[対象のホスト名/IP]:[対象のポート] [ユーザー名]@[SSHホスト]
これだと、トンネル張るだけなときは、無駄にShellが開いてしまうので、トンネルだけやってもらうには -L -> -fNL とします。トンネルを閉じるときは jobsで調べれば、、とおもったのですが、jobsでは出てきませんでした。ので、ps で探して killで殺します。
具体例として、RDS上の
mysqlに対して
mysqlコマンドをうちます、これができるということはmysqldumpなどもできるという意味です。
ssh -fNL 3307:[RDSのエンドポイント]:3306 [ユーザー名]@[ホスト名]
mysql -u[mysqlユーザー名] -p -h127.0.0.1 -P3307
無事ログインできましたでしょうか?
ところで、最近、私の.
ssh/configもごちゃごちゃしてきました。色々解決方法があるらしいですが、何が一番いいか思案中です。