Windows10 で SSHサーバー を起動する


下記の記事で SSHサーバー が使えるようになったとの情報を見て軽く試してみました。

Windows10 1803からOpenSSHサーバーが正式につかえるようになった
https://qiita.com/kenji0x02/items/3f4e7262e6de0d8c8702

試した環境

・Windows 10 Pro (64bit) 20H2

今回試した環境OSは、 Professional Edition ですが Home Edition でもできそうです。

・Git

git bash 使いたいので、Gitもインストールしておきます。

・TeraTerm

接続確認用

SSH サーバーのセットアップ

まずは、SSH サーバーのセットアップですが・・・
セットアップ方法は、だいたい先ほど紹介した記事に書いてあります。

スタートメニューの[アプリと機能]-[オプション機能の管理]-[機能の追加]でOpenSSH サーバーを選択して[インストール]をクリック
https://qiita.com/kenji0x02/items/3f4e7262e6de0d8c8702

チェックしてインストール押して待つだけ。
うーん。簡単。

インストール完了したら下のリストに並びます。

入れただけではサーバーは立ち上がってないので、
コマンドなどから起動してあげる必要があります。

接続時のterminal デフォルト設定が コマンドプロンプト になっているようなので、
Git bash に変更しておきます。

PS C:\WINDOWS\system32> New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Program Files\Git\bin\bash.exe" -PropertyType String -Force


DefaultShell : C:\Program Files\Git\bin\bash.exe
PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\OpenSSH
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE
PSChildName  : OpenSSH
PSDrive      : HKLM
PSProvider   : Microsoft.PowerShell.Core\Registry

※管理者権限でPower Shellを立ち上げてコマンドを実行

他のPCから接続する使い方をする場合は、ファイアーウォールの設定も必要なようです。
接続時の認証がパスワードになっているので、鍵認証な接続したい場合も設定が必要です。
下記の記事を参考にやってみてください。今回はローカルのみ+パスワード接続で使わないのでスキップします。

デフォルトは、手動でSSHサーバーを立ち上げないと起動しませんが、
パソコン立ち上げたら自動で起動するようにも設定できます。

今回は設定せずコマンドで立ち上げます。

PS C:\WINDOWS\system32> Start-Service sshd

これで立ち上がりました。

接続確認

TeraTerm で接続確認してみます。

ログイン時に使っているMicrosoftアカウントでもできるようなのですが
うまくいかなかったので、 (たぶんマルチバイトを含むIDだから?
ローカルにユーザー作ってやってみます。

端末を Microsoft アカウントで利用している場合でも、実ユーザー名(C:¥Users¥???? の ???? の部分)とそのパスワードでログインできます。
https://qiita.com/iShinkai/items/a12c9d26f8f4264897f9

コンピューターの管理 > ローカル ユーザーとグループ > ユーザー に接続確認用のアカウントを追加する。

ホストに localhost いれて OK 押す。(使っているPCに接続する)

先ほど ユーザー作ったときの ID と PASS を入れる。

接続できた!

接続後は、ユーザーディレクトリがカレントディレクトリになっている。

ls でローカルにあるフォルダが表示されましたね。

まとめ

簡単にSSHサーバーの導入・起動・接続ができました。

今回は使っているPC内だけで完結していますが、他のPCからコマンドを実行できるといろいろ活用できそうですね。

みなさんも触ってみてくださいね~!