sshでよく使う設定

2016.11.9

SSH 公開鍵での接続を簡単に行う方法

端末は MacBookPro を使っていて、公開鍵を使って SSH 接続しています。

コマンドの履歴を使って前回実行した SSH コマンドを呼び出して使用していますが、数が増えてくると忘れてしまったり、間違ったりして煩わしいので、ssh sakura みたいな感じで接続先に名前を付けて管理出来るようにしたいと思いました。

前提

前提条件としては、すでに公開鍵を使って SSH 出来る状態を想定しています。

方法

まずは、~/.ssh ディレクトリに config ファイルを作成し、下記を記載します。

Host sakura1
    HostName xxx.xxx.xxx.xxx
    User ユーザー名
    Port ポート番号
    IdentityFile ~/.ssh/sakura1/id_rsa

Host sakura2
    HostName xxx.xxx.xxx.xxx
    User ユーザー名
    Port ポート番号
    IdentityFile ~/.ssh/sakura2/id_rsa

ここまで準備ができれば、後は

ssh sakura1

これで接続できます。

別の所に接続したいときは

ssh sakura2

これで、沢山接続先があっても簡単に接続できるようになりました。

mac で SSH コマンドを使って、SSH ポートフォワーディングを行います。

レンタルサーバ上で動作するプログラムを書いていると、ローカルから、直接レンサバのデータベースに接続してテストしてみたいことがあると思いますが、直接データベースのポートを開放するのは怖いので、SSH ポートフォワーディングを使って、ある程度安全に接続できればと思います。

コマンド

下記のコマンドを実行すると、ローカル PC のバックグラウンドで SSH のプロセスが実行され、ローカルの特定ポートにアクセスするとサーバの指定したポートに接続できます。

ssh -f -N -C -i 公開鍵ファイル SSHユーザ名@レンサバのIPなりドメイン -p SSHのポート22番など -L ローカルのポート:レンサバから見たDBのIP:レンサバから見たDBのポート

-f -N バッググラウンドで実行する場合に必要なオプションです。

-C データを圧縮して送信するオプションです。

止め方

下記のコマンドでプロセスを調べて KILL して下さい。

ps -aux | grep ssh