このページの本文へ

Windows Info 第126回

Windows 10 RS4のSSHを理解する【サーバインストール編】

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

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

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

 前回に続いて、今回はOpenSSHサーバを使えるようにする。

 インストール自体は簡単で、「設定」→「アプリ」→「アプリと機能」→「オプション機能の管理」から、「機能の追加」で「OpenSSHサーバー」をクリックして「インストール」ボタンを押すだけだ。

「設定」→「アプリ」→「アプリと機能」→「オプション機能の管理」を開く

「機能の追加」をクリック。開いたページで「OpenSSH サーバー」をクリックし、「インストール」ボタンを押す

 インストールが終わったら、スタートメニューから「Windows管理ツール」にある「サービス」を起動し、「OpenSSH SSH Server」を探して、右クリックから「プロパティ」を開く。「起動」ボタンを押せば、OpenSSHサーバが起動する。

スタートメニューでWindows管理ツールにあるサービスを起動する

「OpenSSH SSH Server」を探して、右クリックメニューから「プロパティ」を開く

 いつでもサーバにログインできるようにするには、「スタートアップの種類」から「自動」または「自動(遅延開始)」を選ぶ。

「スタートアップの種類」で「自動(遅延開始)」か「自動」を選択する

 この2つは、Windowsの起動後にすぐ起動されるか、少し時間をあけて起動されるかの違い。起動時間や起動時のCPU負荷を考慮するなら「自動(遅延開始)」を選ぶ。このとき、Windowsが起動してから1〜3分程度待たないとsshでのログインができない。ノートPCなど、バッテリへの影響が心配なら、「手動」のままとして、必要に応じて手動で起動させることもできる。

 このときには、同じく「サービス」を使うか、管理者としてコマンドプロンプトから、

sc start sshd

として手動で起動する。

 この状態で、OpenSSHクライアントであるssh.exeからパスワード認証を使ったログインが可能になる。SSHサーバ、クライアントの両方のマシンに同じユーザーアカウントがあるなら、

ssh.exe コンピューター名

で接続が可能だ。

 このとき聞かれるパスワードは、ユーザーアカウントのもので、Windowsのサインイン時につかうものだ(ただしPINは利用できない)。テストと次の作業の準備を兼ねて、サーバにログインしてみる。

ssh.exe serverPC

設定が終わったら、クライアントからログインして、ユーザーフォルダ以下に「.ssh」フォルダを作成する

 ログインできたら、サーバ側のユーザーフォルダがカレントフォルダになっているはずなので、mkdirコマンドを使って.sshフォルダを作成する。あるいはサーバ側のWindows Explorerで作成してもよい。もしすでにあれば作成する必要はない。

ユーザー認証鍵によるログイン

 ユーザーが認証鍵を作り、公開鍵をサーバ側に登録すれば、パスワード認証ではなく、よりセキュリティの高い公開鍵暗号による認証ができる。

公開鍵暗号を使う認証鍵によるログインでは、ssh-keygenコマンドで作成した公開鍵をサーバー側のauthorized_keysファイルに登録しておく

 前回の記事を参考に、クライアント側で認証鍵を作る。このとき、セキュリティを高めたり、複数のPCで利用するなら作成時にパスプレーズを指定することを“強く”お勧めする。このパスフレーズは、秘密鍵を保護するためのもので、パスフレーズを指定することで、秘密鍵ファイルの中身が暗号化され、パスフレーズを知らないと秘密鍵を利用できなくなる。

 万一、ノートPCなどに秘密鍵を入れたまま紛失したような場合、設定したサーバすべてに侵入を許すことになる可能性がある。なお、パスフレーズを指定しないと、利用時にパスフレーズを聞かれることがなくなり、手順が簡単になるが、後述するssh-agentサービスを使うことで、システム起動直後の一回のみパスフレーズを入力するだけで済むようになるので、後述の手順と合わせ、できれば、パスフレーズを指定してほしい。

 ユーザー認証鍵は、ssh-keygenコマンドで作成する。認証鍵は、デフォルトでは、ユーザーフォルダの下の「.ssh」フォルダに作られる。コマンドプロンプトを開き、以下のコマンドを使う。詳細については前回の記事を参照してほしい。

ssh-keygen -t rsa

 なお、以後の説明では、認証鍵は、ユーザーフォルダ以下の.ssh(%userprofile%\.ssh)にあることを前提としている。

 認証鍵は秘密鍵が「id_rsa」に、公開鍵が「id_rsa.pub」に格納されている。この公開鍵をサーバ側に登録することで、公開鍵暗号によるユーザー認証ができる。このためには、公開鍵をサーバ側にコピーする必要がある。これには、scp.exeコマンドを使う。

 scp.exeは、sshで接続可能な場合にファイルのコピーを行うコマンドだ。sshでログインできる相手ならば、scp.exeコマンドでコピーできる。これを使ってサーバ(serverPC9)に公開鍵をコピーする。そのためのコマンドは、

sshを終了して、クライアント側からscpコマンドを使って公開鍵ファイル(id_rsa.pub)をサーバにコピーする

scp.exe c:\users\user01\.ssh\id_rsa.pub serverPC:c:\users\user01\.ssh\clinetPC.pub
※サーバ側にも.sshフォルダが存在してることが前提

 次にサーバ側で作業する。そのためにssh.exeコマンドでサーバに接続する。

ssh.exe serverPC
type clientPC.pub >> authorized_keys
exit

再度サーバにsshコマンドで接続し、サーバ側でコピーしたファイルをauthorized_keysファイルに追記する

 これで、ssh.exeが一旦終了して接続が切れるので、こんどは、認証鍵による接続をさせる。同様に「ssh.exe コンピーター名」とすれば、再度サーバに接続する。今度は、パスワードではなくて、認証鍵を使ったときのパスフレーズを聞いてくるので注意すること。

ssh-agentによるパスフレーズの省略

 サーバ側に公開鍵を登録しただけだと、毎回パスフレーズを入力しなければならない。

秘密鍵をパスフレーズで暗号化していると毎回パスフレーズを入力しなければならない

 なので、ssh-agentサービスを使って、パスフレーズの入力を一回だけにする。ssh-agentは、秘密鍵をメモリ中に保持して必要に応じてssh.exeに提供する。一回設定すれば、次回Windowsを立ち上げ直すときまで有効である。

ssh-agentサービスを使うと、ssh-addコマンドで秘密鍵ファイルを登録するときだけパスフレーズを入力すればよくなる

 まずは、sshサーバと同じく、「サービス」を使って「OpenSSH Authentication Agent」を設定する。

再度「サービス」で、こんどは「OpenSSH Authentication Agent」のプロパティを使い、サービスを起動して自動起動を設定する

 スタートアップの種類は「自動」または「自動(遅延開始)のどちらかとし、手動でサービスを起動する。また、サービス名として「ssh-agent」を使ってSSHサーバと同じようにsc.exeコマンドでサービスを制御できる。

 サービスを起動したら、以下のコマンドで自分の秘密鍵を登録する。

ssh-add c:\users\user01\.ssh\id_rsa

 このとき、パスフレーズを入力する。ただし、一回入力したら、以後、Windowsを再起動するまでパスフレーズを入力する必要はない。ssh.exeを起動すれば、何も聞かずにサーバに接続できるはずだ。

カテゴリートップへ

この連載の記事

ASCII倶楽部

注目ニュース

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

プレミアム実機レビュー

ピックアップ
1
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
2
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
3
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
KIOXIA(キオクシア)【日本製】USBフラッシュメモリ 32GB USB2.0 国内サポート正規品 KLU202A032GL
¥980
4
【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
5
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
6
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
Amazon Kindle Paperwhite (16GB) 7インチディスプレイ、色調調節ライト、12週間持続バッテリー、広告なし、ブラック
¥18,980
7
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
8
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
エレコム 電源タップ 6個口 3m 雷ガード 個別スイッチ ほこりシャッター付 耐熱 PSE技術基準適合 ブラック T-K6A-2630BK
¥1,590
9
Amazon Kindle - 目に優しい、かさばらない、大きな画面で読みやすい、6週間持続バッテリー、6インチディスプレイ電子書籍リーダー、ブラック、16GB、広告なし
Amazon Kindle - 目に優しい、かさばらない、大きな画面で読みやすい、6週間持続バッテリー、6インチディスプレイ電子書籍リーダー、ブラック、16GB、広告なし
¥13,980
10
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
キヤノン Canon 純正 インクカートリッジ BCI-381(BK/C/M/Y)+380 5色マルチパック BCI-381+380/5MP 長さ:5.3cm 幅:13.9cm 高さ:10.75cm
¥5,645

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

デジタル用語辞典

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