読者です 読者をやめる 読者になる 読者になる

続 カッコの付け方

AWSを始めとしたクラウドコンピューティング全般と、唯一神emacsにおける()の付け方についてだらだら書きます

ssh PortFowardを思い出す

日記 ssh PortFoward VPN
最も簡単にVPNを張る方法として、SSH接続をトンネルとする方法があります。かつてはWindowsソフトウェアとして、PortForwarderというトンネル専用のものがありましたが、MacSSHがあるので、すぐに利用できます。

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