はじめに
Windows で SSH 接続する方法というと、TeraTerm や Putty などのツールをインストールして使用するのが一般的ですが、面倒だなぁと常々思っていました。
OpenSSH クライアントが Windows 10 に組み込まれて大分経つのだから、もっと簡単な方法はないものか。Macと同じように以下のように SSH 接続できないかと思い至りました。
> ssh 接続名
それで実験してみたらビンゴ!
公開鍵認証のSSH接続でも、コマンドプロンプトからssh 接続名
でサーバーに接続することができました。
その方法をご紹介します。
前提条件
- 以下の情報がそろっていること
- ホスト名
- ユーザー名
- ポート番号
- SSHの秘密鍵があること
- TeraTerm や Putty で接続ができていること
秘密鍵を格納
> cd %homedrive%%homepath% > mkdir .ssh > copy 秘密鍵のパス .ssh
.ssh\config ファイルの作成
まずは、下記コマンドで .ssh\config の空ファイルを作成します。
> cd %homedrive%%homepath%\.ssh > type nul > config
そうしたらテキストエディタで以下の内容を .ssh\config ファイルに記述し保存します。
Host 接続名(自由) HostName ホスト名 User ユーザー名 IdentityFile C:\Users\ユーザー名\.ssh\秘密鍵のファイル名 Port ポート番号 TCPKeepAlive yes IdentitiesOnly yes
設定ができたら実際に接続してみます。
仮にwebsec
という接続名であれば以下のようにコマンドプロンプトで実行します。
> ssh websec
複数の接続先がある場合も問題ありません。
以下のように .ssh\config ファイルを記述するだけです。
Host 接続名1 HostName ホスト名 User ユーザー名 IdentityFile C:\Users\ユーザー名\.ssh\秘密鍵のファイル名 Port ポート番号 TCPKeepAlive yes IdentitiesOnly yes Host 接続名2 HostName ホスト名 User ユーザー名 IdentityFile C:\Users\ユーザー名\.ssh\秘密鍵のファイル名 Port ポート番号 TCPKeepAlive yes IdentitiesOnly yes
これで Windows のコマンドプロンプトから SSH 接続できるようになりました。
便利ですね。