WEB/システム/IT技術ブログ

PuTTYに代わりWindowsのOpenSSHを使って外部サーバにSSH接続する

update : 2019/04/21

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では色が付くので見やすいかもしれません。

B!

Comment

Comment Form

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives