WindowsからLinuxサーバへSSH接続する時に、これまでずっとPuTTYを使っていました。
しかし、何となく古臭い感じがしていて、今の時代、もう少しスマートにならないかと調べてみたらありました。
2018年の春のWindows 10アップデートで標準でOpenSSHが組み込まれるようになったみたいです。
今回はこのWindows 10標準のOpenSSHの活用方法を調べたいと思います。
OpenSSHが使えるか確認する
念のため、事前に今使っているWindows 10にOpenSSHが入っているかどうか確認します。
スタートメニューから「アプリと機能」を起動し「オプション機能の管理」を開き、一覧に「OpenSSHクライアント」があれば利用できます。
また、コマンドプロンプトから「ssh -V」と入力してバージョン情報が出力されれば同じく利用できます。
> ssh -V OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
外部サーバにSSH接続する
実際にSSHコマンドを使って、外部サーバに接続してみます。
例としてLinuxサーバ「server.helog.jp」に接続します。コマンドプロンプトを起動し、以下のコマンドを入力します。
> ssh user@server.helog.jp user@server.helog.jp's password: Last login: Tue Apr 16 15:10:37 2019 from xxx.xxx.xxx.com
「@」の前にはユーザ名を指定します。パスワード認証を通ればログイン成功です。
接続先情報を管理する
接続する度に、毎回ユーザ名とホスト名を入力するのはめんどくさいので、PuTTYのように接続先を保存・管理する方法も調べました。
以下のconfigファイルをテキストエディタで開き、接続先情報を書き込みます。ファイルが既に存在する場合は追記、存在しない場合は新規作成します。
C:\Users\ユーザ名\.ssh\config
先ほど接続したサーバ情報を以下のようなフォーマットで記述し、保存します。また、サーバ情報は並べて複数保存できます。
Host server HostName server.helog.jp User user Host server2 HostName 192.168.xxx.xxx User user1 Port 2222 IdentityFile ~/.ssh/private.key
「IdentityFile」は秘密鍵へのパスですが、上記はLinuxのようにホームディレクトリ(C:\Users\ユーザ名\)からのパスになっています。
もちろん以下のようにWindowsっぽい書き方でも問題ありません。
IdentityFile "C:\Users\ユーザ名\.ssh\private.key"
情報にはさまざまなオプションを指定することができますが、こちらでの説明は割愛します。OpenSSHのマニュアルを参考にしてください。
OpenSSH
設定ファイルを利用して、以下のようにコマンドでSSH接続を実行できます。
> ssh server
コマンドプロンプトでもPowerShellでも同じように利用できますが、基本的にコマンドプロンプトが白黒なのに対して、PowerShellでは色が付くので見やすいかもしれません。
コメントする