ssh PortFowardを思い出す
最も簡単に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もごちゃごちゃしてきました。色々解決方法があるらしいですが、何が一番いいか思案中です。