このページの本文へ

Windows Info 第125回

Windows 10 RS4のSSHを理解する【原理編】

2018年05月06日 10時00分更新

文● 塩田紳二 編集● ASCII編集部

  • この記事をはてなブックマークに追加
  • 本文印刷

 Windows 10 RS3では、ベータ版としてWindowsのオプション機能で用意されていたOpenSSHが、RS4では正式版となった。プログラム自体は、以前本連載でも紹介した「OpenSSH」なのだが、クライアントについては最初からインストールされている状態。SSHサーバは、必要に応じてユーザーがインストールできる。

 インストール自体は、以前に紹介したものに比べて、ずっと簡単だが、使いこなすためにはちょっとしたコマンドを実行する必要がある。もっとも以前はPowershellを利用していたが、RS4ではOpenSSHの標準コマンドだけでほぼなんとかなる。そこで今回の記事では、そもそもSSHがどのように動作して、それぞれのコマンドはどんな働きをするのかを解説し、次回具体的な設定を解説する。

そもそもSSHって何?

 SSHは、もともとUNIX系OSで使われていたrshやrloginの後継にあたるプログラムだ。rshはremote Shellの略で、ネットワークを介して、他のマシンにログインしてコマンドラインシェルを使うものだ。同様にrloginはremote loginで、ネットワークを介して他のマシンにログインするもの。これらは便利なので多く使われていたが、平和な時代に作られたため、セキュリティに関してはほとんど考慮されていなかった。

 SSHではセキュリティを考えた設計になっており、接続時に相手が正しいかどうかを認証し、通信を暗号化する。

SSHプロトコルの概要。通信条件を決めたあと、暗号通信のための鍵交換とサーバの認証をする

 また、サーバがクライアントを認証することも可能で、このようにすることで、成りすましや途中に入って通信を盗聴することを防ぐことができる。

 このときに使われる技術が「公開鍵暗号」だ。公開鍵暗号の原理については、いろいろと参考書もあるし、インターネットに文書もあるのでここでは解説を省くが、「秘密鍵」「公開鍵」の2つの暗号化鍵があり、片方で暗号化したものは、もう一方でないと解読できない。

 このために「秘密鍵」を使った暗号文は、「公開鍵」でしか解読できない。もし、相手から送られてきた暗号文が公開鍵で解読できるなら、相手は秘密鍵を持っている正しい通信相手であることがわかる。逆に公開鍵を使った暗号文は、秘密鍵でしか解読できないので、秘密鍵を持つであろう正しい相手だけが解読できるという仕組みである。

 SSHでのサーバ認証は、この公開鍵暗号を使う。つまり、サーバの公開鍵を使って暗号化したものを正しく解読できるならば、相手は秘密鍵を持っている正しいサーバであると断定できる。クライアント側は、公開鍵と相手のIPアドレスをペアで記憶しておき、接続先が正しいかどうかを判断する。OpenSSHでは、実際には公開鍵そのものではなく、公開鍵から作られるfingerprintと呼ばれる短い情報を記憶している。

 クライアントは、サーバに初めて接続するときに、サーバの公開鍵(のfingerprint)を記憶する。つまり初回の接続だけは、できるだけ安全な環境で行なうのが望ましい。そうして1回、サーバを記憶すれば、次回からは同じサーバに接続しているかどうかは、SSHが自動的に判断してくれる。逆に、サーバ側を再インストールしたときなどは、別の公開鍵が作られるため、クライアント側は記憶している公開鍵のfingerprintを破棄し、新しい公開鍵を登録しなければならない。

 この登録はIPアドレスとの組合せなので、SSHを使うならば、IPアドレスの割り当てが一定になるようにDHCPサーバを設定しておくべきだろう。

 RS4に搭載されているOpenSSHクライアントやサーバは、利用可能な状態にすると、パスワードによるログインが可能になる。サーバはインストールして登録されたサービスを起動するだけでいい。

SSHの設定のおおまかな流れ。RS4に付属のOpenSSHでは、パスワードによるログインまでは、インストールとOpenSSHサーバサービスの起動のみで可能

 このときサーバ側マシンには、クライアント側と同じユーザーアカウントが必要である。厳密には「同じ」である必要はないが、サーバ側のマシンで直接サインインできる(つまりパスワードを知っている)ユーザーアカウントを持っていなければ、SSHを使ったリモートログインはできない。

 なお、SSHでは、ユーザーアカウントのパスワードだけでしかログインができない。Windows自体は、指紋やPIN、ピクチャーパスワードなどでもサインインできるが、SSHの場合はパスワードが必要なので注意が必要だ。

 SSHでは、さらにクライアント側でも公開鍵暗号を作って、これを使ったパスワードなしの接続が可能になる。このとき、秘密鍵を保護するため、秘密鍵ファイルに長い文字列を使う「パスフレーズ」を付けて保護する。

 パスフレーズなしの簡易な運用も可能だが、PCを紛失するなどして、秘密鍵が漏洩する可能性を考えると、パスフレーズをつけて暗号化しておくべきだろう。というのは、このファイルをコピーされてしまうと、サーバに誰でもログインできてしまうようになるためだ。

 パスフレーズは、パスワードよりも長く、文章をそのまま使うことができる。OpenSSHは秘密鍵が必要な場合に、ユーザーにパスフレーズの入力を求め、その都度解読して利用する。SSHによるログインを何回も繰り返すような場合、パスフレーズの入力は、かえってパスワードの入力よりも面倒なので、ssh-agentを使って、秘密鍵を管理させる。ssh-agentを使うことで、ユーザーは、最初の一回だけパスフレーズを入力すればいい。RS4に搭載されたOpenSSHでは、ssh-agentがサービスとして登録されている。

 つまり、OpenSSHの設定は、ssh-agentの設定までしないと、パスワードやパスフレーズの入力が面倒なまま残ってしまう。ごくたまに使うのであれば、何も設定しないでパスワードのままで問題ないが、そうでなければ、ssh-agentでログインするところまでやったほうが毎回のログインがはるかに簡単になる。

実際に秘密鍵と公開鍵を作る

 SSHサーバ側は、サービスとして起動するときに自動的に秘密鍵と公開鍵を作るが、クライアント側は、ユーザーがコマンドラインを使って秘密鍵、公開鍵を作る必要がある。そのためには、ssh-keygen.exeコマンドを使う。なお、RS4に含まれるOpenSSHでは、クライアント側の設定ファイルは、すべて、ユーザーフォルダ以下の.sshフォルダ(%userprofile%\.ssh)にある。このフォルダは、クライアントであるssh.exeを最初に起動し、サーバと接続するときに自動的に作られる。

 クライアントの暗号鍵も基本的にはここに置き、RS4のssh-keygen.exeもここをデフォルトの暗号鍵の保存場所としている。このコマンドには、いくつかオプションがあるが、マニュアルは、以下のURLにある。

https://man.openbsd.org/ssh-keygen

 ssh-keygen.exeは、複数鍵形式での生成ができるが、実際に使う場合には、サーバが対応している暗号化方式に合わせる必要がある。ただ、現実的には「rsa」の鍵を作れば十分なので、なにもオプションを付けずに「ssh-keygen.exe」コマンドを実行する。

RS4付属のOpenSSHによる暗号鍵の生成は、ssh-keygenコマンドで行なう

 最初に秘密鍵、公開鍵の保存場所を聞いてくるので、Enterを入力する。標準では前述のようにユーザーフォルダにある.sshフォルダである。

 次にパスフレーズを聞いてくる。これには、“This is a pen”のように適当な文章を入れる。長い方がセキュリティが高くなるが、覚えられる範囲にしておく。

 指定したフォルダに「id_rsa」と「id_rsa.pub」という2つのファイルができているはずだ。拡張子として「.pub」となっているほうが公開鍵で、もう1つが秘密鍵である。なお、サーバにパスワードなしでログインするためには、公開鍵をサーバ側の自分のユーザーフォルダに登録する必要がある。

 このとき、パスワードでsshによるログインが可能な状態であれば、OpenSSHに付属するscp.exe(Scure Copy)が利用できる。scpはsshを利用して安全なファイルのコピーをするもので、公開鍵のコピー以外にも利用できる。

カテゴリートップへ

本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
1
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
【整備済み品】富士通 ノートパソコン LIFEBOOK U9310 13.3型FHD(1920x1080) 超軽薄 ノートPC/第10世代 Core i5-10310U@1.7GHz/ 8GB メモリ/高速ストレージ SSD/Webカメラ/WIFI/Type-C/HDMI/win11&MS Office 2019 搭載 ビジネス 在宅勤務向け パソコン (メモリ:8GB/SSD:256GB)
¥35,129
2
【整備済み品】富士通 A748 15.6型 第8世代CPU Core i3-8130U /Windows11/MS Office2019搭載/初期設定不要/DVDドライブ/WIFI/Bluetooth/HDMI/USB3.0/テンキー(Core i3-8th, メモリ8GBSSD256GB)
【整備済み品】富士通 A748 15.6型 第8世代CPU Core i3-8130U /Windows11/MS Office2019搭載/初期設定不要/DVDドライブ/WIFI/Bluetooth/HDMI/USB3.0/テンキー(Core i3-8th, メモリ8GBSSD256GB)
¥19,880
3
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - スターライト
Apple 2026 MacBook Air M5チップ搭載13インチノートブック:AIとApple Intelligence、13.6インチLiquid Retinaディスプレイ、16GBユニファイドメモリ、512GB SSDストレージ、12MPセンターフレームカメラ、日本語キーボード、Touch ID - スターライト
¥224,800
4
【整備済み品】【Microsoft Office2019&Win11搭載】超軽量Panasonic Let's note CF-SZ6■第7世代 Intel Core i5-7200U@2.5GHz/メモリ8GB/
【整備済み品】【Microsoft Office2019&Win11搭載】超軽量Panasonic Let's note CF-SZ6■第7世代 Intel Core i5-7200U@2.5GHz/メモリ8GB/
¥16,000
5
【整備済み品】 ノートパソコン Let's note CF-SV8 軽量化 12.1インチWUXGA(1920×1200) ノートPC 第8世代Core i5-8365U 1.90GHz/メモリ8GB/SSD 256GB/WEBカメラ内蔵/Windows 11 Pro&Office 2019搭載 SOUSIAの整備済み レッツノート パソコン
【整備済み品】 ノートパソコン Let's note CF-SV8 軽量化 12.1インチWUXGA(1920×1200) ノートPC 第8世代Core i5-8365U 1.90GHz/メモリ8GB/SSD 256GB/WEBカメラ内蔵/Windows 11 Pro&Office 2019搭載 SOUSIAの整備済み レッツノート パソコン
¥24,620

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

ASCII倶楽部

注目ニュース

  • 角川アスキー総合研究所

プレミアム実機レビュー

ピックアップ
1
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
KIOXIA(キオクシア) 旧東芝メモリ microSD 128GB UHS-I Class10 (最大読出速度100MB/s) Nintendo Switch動作確認済 国内サポート正規品 メーカー保証5年 KLMEA128G
¥2,680
2
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
ソニー ゲーミングイヤホン INZONE Buds:WF-G700N Fnatic監修/ワイヤレス / 低遅延2.4GHzワイヤレス接続 USBType-Cトランシーバー同梱/LE Audio対応/アクティブノイズキャンセリング/立体音響 / 最大約24時間バッテリー / 急速充電/マイク付き / PS5 スマホ PC Switch グラスパープル
¥20,800
3
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
Anker PowerLine III Flow USB-C & USB-C ケーブル Anker絡まないケーブル 240W 結束バンド付き USB PD対応 シリコン素材採用 iPhone 17 / 16 / 15 / Galaxy iPad Pro MacBook Pro/Air 各種対応 (1.8m ミッドナイトブラック)
¥1,890
4
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
Anker iPhone充電ケーブル PowerLine II ライトニングケーブル MFi認証 超高耐久 iPhone 14 / 14 Pro Max / 14 Plus / 13 / 13 Pro / 12 / 11 / X/XS/XR / 8 Plus 各種対応 (0.9m ホワイト)
¥990
5
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
Anker USB Type C ケーブル PowerLine USB-C & USB-A 3.0 ケーブル iPhone 17 / 16 / 15 /Xperia/Galaxy/LG/iPad Pro/MacBook その他 Android 等 USB-C機器対応 テレワーク リモート 在宅勤務 0.9m ホワイト
¥740
6
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥1,616
7
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
バッファロー マウス 無線 ワイヤレス 5ボタン 【戻る/進むボタン搭載】 小型 軽量 節電モデル 最大584日使用可能 BlueLED ブラック BSMBW315BK
¥1,040
8
【ブラザー純正】 ブラザー工業(Brother Industries) インクカートリッジ4色パック(エコパッケージ) LC411-4PK-E 対応型番:DCP-J926N、MFC-J904N、MFC-J739DN、MFC-J939DN 他
【ブラザー純正】 ブラザー工業(Brother Industries) インクカートリッジ4色パック(エコパッケージ) LC411-4PK-E 対応型番:DCP-J926N、MFC-J904N、MFC-J739DN、MFC-J939DN 他
¥4,536
9
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,899
10
エレコム マウス ワイヤレス Mサイズ 5ボタン(戻る・進むボタン搭載) BlueLED 握りの極み ガンメタリック M-XGM10DBBK/EC
エレコム マウス ワイヤレス Mサイズ 5ボタン(戻る・進むボタン搭載) BlueLED 握りの極み ガンメタリック M-XGM10DBBK/EC
¥1,000

Amazonのアソシエイトとして、ASCII.jpは適格販売により収入を得ています。

デジタル用語辞典

ASCII.jpメール デジタルMac/iPodマガジン