Microsoft様謹製の openssh
本家様https://github.com/PowerShell/Win32-OpenSSH/releases

GitHubで公開しているのが驚きである。
インストール方法もGitHubに書かれている
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
これに従ってインストールを行った。
まず、プログラムの取得。「4_5_2016」版の「OpenSSH-Win64.zip」を取得。
これを解凍して、中身を「C:\Program Files\OpenSSH-Win64」に展開

administrator権限で「PowerShell」を起動して、インストール先フォルダに移動する
「cd 'C:\Program Files\OpenSSH-Win64'」

インストールフォルダにある「ssh-keygen」を実行してホストキーを作成する
「.\ssh-keygen.exe -A」

Firewallにsshdの穴を開ける。windowsファイアウォールを無効にしているなら不要かもしれない
「New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH」と入力

*PowerShellのコマンド入力で途中で改行を入れるには「`」(バッククォート)を入れます
公開鍵暗号(id_rsa、id_rsa.pubとか)で認証するなら追加のパッケージをインストールします。
「powershell.exe .\install-sshlsa.ps1」
エラーが発生。

回避策がそのGitHubに載ってたhttps://github.com/PowerShell/Win32-OpenSSH/issues/149
「powershell.exe -executionpolicy unrestricted .\install-sshlsa.ps1」として質問に「R」を入力する

ここで一旦windowsマシンを再起動して、再びadministrator権限で「PowerShell」を起動して、インストール先フォルダに移動する。
「cd 'C:\Program Files\OpenSSH-Win64'」
そしてインストールデーモンをインストールします。っが、またしても同様のエラーが発生したので
「powershell.exe -executionpolicy unrestricted .\install-sshd.ps1」と実行。質問には「R」を入力する

これで「サービス」にも登録された。

この「sshd」のプロパティを開いて、「スタートアップの種類」を「自動」にすればマシン起動時にはsshdが起動することとなる。
特別な事はなく、単にssh接続を行う
[root@c102 ~]# ssh -l administrator c101
administrator@c101's password:
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
administrator@WIN2K12R2 C:\Users\Administrator\Documents>ログイン先がドキュメントフォルダである。setコマンドで環境変数が読めます。
だが、、dirコマンドを実行したら
administrator@WIN2K12R2 C:\Users\Administrator\Documents>dir
dir
h Cu C ?{
[ x
ェ鞋ケ
{
[ V
A
?ヘ D817-3FBC ?キ
C:\Users\Administrator\Documents ?fB
Ng
2016/02/20 01:49 <DIR> .
2016/02/20 01:49 <DIR> ..
2016/04/29 09:37 <DIR> SQL Server Management Studio
2016/02/20 01:46 <DIR> Visual Studio 2010
0
??t@C
0 oCg
4
??fB
Ng
24,216,035,328 oCg?カ?・
administrator@WIN2K12R2 C:\Users\Administrator\Documents>と非常に残念な結果となった。単純に文字コードの問題なのだろう
あと、TeraTermで接続中にCtrl-Cを打って、exitでsshを抜け、再度ssh接続を行うと接続できない。
administrator@WIN2K12R2 C:\Users\Administrator\Documents> <Ctrl-C>
administrator@WIN2K12R2 C:\Users\Administrator\Documents>exit
exit
Connection to c101 closed.
[root@c102 ~]#
[root@c102 ~]# ssh -l administrator c101
...次に進まないwindowsサーバのsshdを再起動すれば回復するのだが、、、なんか微妙。あとインストールはしたけど、利用シーンが浮かばない。。。