このページの本文へ

Windows Info 第101回

Windows 10でSSH(Secure Shell)サーバーを使う

2017年09月24日 10時00分更新

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

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

Anniversary Updateから
開発者モードで利用可になったSSHサーバー

 Windows 10のAnniversary Update(RS1)から、開発者モードをオンにすると、SSHサーバーが起動するようになっている。SSHとは「Secure Shell」の略で、ネットワークを介して、他のホストに接続して「シェル」を使うためのプロトコルだ。通信は暗号化されていて、ホストやサーバー認証も行なわれ、比較的安全にインターネット内で利用することができる。

 SSHでは、SSHサーバー側がネットワークからの接続を待ち、SSHクライアント側はネットワークを介して他のマシン上で動作しているSSHサーバーに接続する。接続すると、SSHクライアントプログラムのウィンドウに対するキーなどの文字入力は、サーバー側に送られ、サーバー側でシェルが動作、その応答(文字出力)がSSHクライアントプログラムのウィンドウ内に表示される。

SSHは、サーバーとクライアントのプログラムが通信し、サーバー側のシェル(WindowsならばCMD.EXE)をクライアント側のウィンドウ内で動作しているように見せる

 見た目的には、ローカルマシン上でコマンドプロンプトを動かしていると同じようにしか見えない。

 基本的には、SSHの利用はコマンドラインが基本。Windowsで使う場合には、cmd.exeが起動し、その中から必要に応じてコンソールプログラムやコマンドを利用したり、Powershellなどのコマンドラインコンソールに対応した言語などを用いる。

 技術的には、startコマンドなどを使うことで、GUIを持つWindowsデスクトップアプリケーションを起動できるが、そのウィンドウは、リモート側(SSHサーバー側)に表示されてしまうので、操作を行なっているSSHクライアント側からは操作できない。

 以前は、telnetやrloginといったプロトコルが使われていたが、これらは暗号化などの機能がプロトコル自体になく、ローカルネットワークでの利用が前提だった。しかし、現在ではローカルネットワークであっても、通信ポートに誰でも接続できるようにしてしまことはセキュリティ上問題があると判断され、SSHが利用されることが大半になった。このSSHプロトコルを実際のプログラムとしたのがOpenSSHで、OpenBSDプロジェクトが開発を進めている。

Windows 10の開発者モードのSSHサーバー

 Windows 10の開発者モードで動作するのは、マイクロソフトが独自に開発した(と思われる)SSHサーバーだ。ただし、SSHであること、Windows 10 IoTでの利用が説明されているだけで、このSSH実装に関するドキュメントは公開されておらず、また、特に設定プログラムなども用意されていない。

 ハッキリしているのは、Windows 10(Desktop、Mobile、IoT)で開発者モードをオンにすると、SSH関連の2つのサービス(SSH Server Broker、SSH Server Proxy)が起動するようになるということだ。とりあえず、このSSHをサービス名から「Server Broker版」とよび、OpenSSHなどと区別することにする。

 このServer Broker版SSHは、サーバー側しか用意されておらず、利用するには、別途クライアントを用意する必要がある。開発モードに関する文書には、「This is not Microsoft's OpenSSH implementation, which you can find on GitHub.(これは、マイクロソフトのOpenSSH実装ではない。それはGitHubにある)」と書かれていて、OpenSSHではないことはわかる。

 またこの文書には、OpenSSHなどを使う場合には他のポートを使え、SSHサーバーを無効にするには開発者モードをオフにしろといったことしか書いてない。

 もう1つ、Server Broker版では「設定」→「更新とセキュリティ」→「開発者向け機能」にある「デバイスの検出」(Device Discoverly)を使ってペアリングをSSH PINで行なうとの表記がある。このあたりもドキュメントがないが、このあたりで拡張が行なわれている可能性もある。たとえば、過去にWindowsに付属していたtelnetサーバー、クライアントには、NTLM認証の機能が追加されていた。

 ドキュメントには、何も書かれていないが、開発者モードと連動していることから、なんらかの開発に関わる可能性がある。しかし、OpenSSHなどを利用したい場合、このServer Broker版SSHサーバーを止めないと、標準ポートを利用できない。

 Server Broker版SSHサーバーを停止するには、サービスを停止する。その手順は以下のようになる。

1. 「コントロールパネル」→「管理ツール」→「サービス」を開く

コントロールパネルの「管理ツール」から「サービス」を開く

2. SSH Server Brokerサービスを探す
3. プロパティを開く

SSH Server Brokerサービスを探し、右クリックメニューからプロパティを選択

4. 「スタートアップの種類」を「無効」にする

スタートアップの種類を「無効」にして実行中なら停止する

5. すでに実行中なら「サービスの状態」で「停止」ボタンを押す
6. OKで抜ける

 なお、SSH Server Proxyは、SSH Server Brokerに依存しているため、Brokerサービスが停止すれば、一緒に停止して単独で動作することがない。このため、スタートアップでSSH Server Brokerだけを無効にしておけばよい。

 開発者モードにしてServer Broker版SSHサーバーを停止してみたが、少なくとも、Visual Sutdioのリモートデバッグには無関係で影響はないようだ。ただし、Windows 10 IoTやWindows 10 Mobileなどの開発を行なっている場合などに影響が出る可能性もあるので、開発関係の動作をチェックしておいたほうがいいだろう。

 また、Server Broker版は、サーバー側のみの提供なので、開発者モードがオンになっていても、他のマシンにSSHで接続するクライアントだけを動かしている場合には、停止させる必要はない。

Windows用のOpenSSHは2種類ある

 Windows用のOpenSSHには、2つのバイナリがある。1つは、マイクロソフト自身による実装「PowerShell/Win32-OpenSSH」(以下、MS版)で、GitHubで公開されている。ただし、このバイナリをインストールするには、PowerShellから操作を行なう必要があり、スクリプトを実行できるようにPowerShellを準備しておく必要がある。

 もう1つのバイナリは、mls-software.comで配布されている「OpenSSH for Windows」(以下、mls版)である。こちらは、Windowsインストーラーを使い、GUIベースで通常のアプリのようにインストールできる。

 現時点ではどちらもOpenSSH 7.5p1をベースにしており、SSHとしての機能は同等といえる。インストール作業をPowerShellで行なう必要があるがマイクロソフト自身による移植となるMS版と、通常アプリと同じくGUIでインストールできるサードパーティによるmls版の2つがあるというわけだ。

 ただし、mls版は、Windows上でUnixと同等の環境を作るCygwinをベースにしたもので、どちらかというと古い実装方法だ。一部制限があるようなので、新規にインストールするのであれば、MS版をお勧めする。

 というわけで次回は、MS版OpenSSHをインストールしてみることにする。

カテゴリートップへ

この連載の記事

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
¥1,880
2
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,390
3
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 ホワイト
¥660
4
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
5
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
6
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
【Amazon.co.jp限定】 ロジクール 静音 ワイヤレス トラックボール マウス M575SPd Bluetooth Logibolt 無線 windows mac iPad OS Chrome トラックボールマウス ブラック M575 M575SP 国内正規品 ※Amazon.co.jp限定 壁紙ダウンロード付き
¥5,280
7
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
CIO フラットスパイラルケーブル CtoC 1m (Type-C/USB-C) PD 急速充電 平型 磁石 マグネット吸着 まとまる 充電ケーブル PD 240W データ転送 480Mbps (ライトブラック, 1m)
¥1,780
8
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
9
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
【Amazon.co.jp限定】バッファロー microSD 32GB 100MB/s UHS-1 U1 microSDHC【 Nintendo Switch 対応 】V10 A1 IPX7 Full HD RMSD-032U11HA/N
¥1,880
10
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590

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

デジタル用語辞典

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