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

公開日: : 最終更新日:2019/11/05 PowerShellの技術メモ, Windowsの技術メモ

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 のモジュールのフォルダに変更します。

PS C:\Users\xxxx> cd C:\OpenSSH

公開鍵・秘密鍵の作成

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

PS C:\OpenSSH>.\ssh-keygen.exe -A

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

PS C:\OpenSSH> .\ssh-keygen.exe -t rsa -f ssh_host_rsa_key

ポート22の開放

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

PS C:\OpenSSH> New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH

鍵認証設定

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

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

PS C:\OpenSSH> cmd /c setup-ssh-lsa.cmd

OSの再起動

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

PS C:\OpenSSH> Restart-Computer

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

サービスへの登録

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

PS C:\OpenSSH> .\sshd.exe install

sshdサービスの起動

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

PS C:\OpenSSH> Start-Service sshd

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

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

PS C:\OpenSSH> Set-Service sshd -StartupType Automatic

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

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

sshd_service

動作確認

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

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

ssh-connect-test

接続できましたね。

ssh-connect-success

文字化けする場合

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

mojibake

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

AD

この記事が興味深かった場合は、SNSボタンでシェアいただけると嬉しいです。

関連記事

Windowsでプロセスを強制終了するコマンド

Windowsでプロセスを強制終了したいときに使うコマンドです。 batファイル等で大活躍します。

記事を読む

マイクロソフトがカタカナ用語末尾の長音表記を変更!?

「マイコンピュータ」が「マイコンピューター」に? マイクロソフトが表記ルールを変更 http://t

記事を読む

コンピュータの問題が原因で、更新プログラムをダウンロードまたはインストールできません。

WindowsXP SP3環境でWindowsUpdate(MicrosoftUpdate)を実行す

記事を読む

スクロールバーの指定位置まで瞬時に移動する技

言葉で説明するの難しいですが、 縦に長いWebサイト見てるときとか、右にスクロールバーが出るじゃない

記事を読む

WindowsOS側でUSBメモリを使用禁止にする方法

BIOSでUSBポートを無効化すればUSBメモリは使えませんが、 USBポートを無効にすれば、USB

記事を読む

Comment

  1. mogura より:

    鍵認証設定の
    cmd /c setup-ssh-lsa.cmdの所で
    現在ダウンロードした物には
    setup-ssh-lsa.cmdがありませんでした
    レジストリの登録はSCコマンドのことですよね
    setup-ssh-lsa.cmdの内容を公開して頂けると
    助かります

    • より:

      setup-ssh-lsa.cmd の中身です。

      ————————————–
      if %PROCESSOR_ARCHITECTURE%==x86 (
      set lsadll=%~dp0x86\ssh-lsa.dll
      )
      if %PROCESSOR_ARCHITECTURE%==AMD64 (
      set lsadll=%~dp0x64\ssh-lsa.dll
      )
      copy %lsadll% %windir%\system32\
      reg add HKLM\System\CurrentControlSet\Control\Lsa /v “Authentication Packages” /t REG_MULTI_SZ /d msv1_0\0ssh-lsa.dll -f
      ————————————–

Message

メールアドレスが公開されることはありません。

AD

PAGE TOP ↑