Windows10でsshサーバを構築してみた

2016年2月15日

Windows10では、TelnetServerが無くなっています。そのため、TeraTerm等でログインしてコマンドが実行できません。

そこでフリーソフトのTelnetサーバを探したのですが、良いものがありませんでした。ということで気を取り直しまして、どうせならSSHサーバにしようと考え直し、SSHサーバにするためのフリーソフトを探していたところ、GitHubにWin32 OpenSSHというものが公開されていました。

というわけで、Win32 OpenSSHをインストールして、Windows10をSSHサーバにしてみました。

インストール手順は以下のとおり。

モジュールのタウンロード

GitHub Win32-OpenSSH より、モジュールのzipファイルをダウンロードします。

私は 12_22_2015 リリースの、Win32 版を選定しました。

インストール

解凍したモジュールを分かりやすいフォルダに配置します。

ここからは、C:\OpenSSH フォルダに配置したとして解説します。

Powershellの起動

管理者として起動します。

フォルダの移動

powershell上で、カレントティレクトリを、OpenSSH のモジュールのフォルダに変更します。

公開鍵・秘密鍵の作成

一括で作成する場合はこのコマンドで作成します。

個別で作成する場合は、こんな感じで各鍵を作成します。

ポート22の開放

ファイアウォールでsshのポート22を開放します。
GUIでやってもいいのですが、せっかくなのでPowerShellで。

鍵認証設定

セットアップコマンドを実行します。

実際に行われていることとしては、ssh-lsa.dll の C:\Windows\system32\ へのコピーと、レジストリへの登録です。

OSの再起動

再起動しないと、先ほどの鍵認証設定が反映されないので、潔く再起動します。

OS再起動が完了したら、再度PowerShellを管理者として起動します。

サービスへの登録

サービスとして登録しましょう。削除するときは install の部分を uninstall にすればOKです。

sshdサービスの起動

早速起動してみましょう。

sshdサービスの自動起動設定

windows起動時に自動起動させたい場合は設定しておきましょう。

参考:GUIでサービスの自動起動設定

画像のように、自動起動にしてください。

sshd_service

動作確認

TeraTermなどのsshクライアントで接続してみましょう。

OpenSSHをインストールしたWindows10のIPアドレスが192.168.0.20の場合の例です。

ssh-connect-test

接続できましたね。

ssh-connect-success

文字化けする場合

Windowsの文字コードはSJISなので、TeraTermの設定によっては文字化けします。

mojibake

画像のように、漢字-受信 漢字-送信 共に SJIS に設定すればOKです。