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

GitHubで公開しているのが驚きである。

インストール

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

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

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

Firewallにsshdの穴を開ける。windowsファイアウォールを無効にしているなら不要かもしれない
「New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH」と入力
2016y04m29d_174144818.png
*PowerShellのコマンド入力で途中で改行を入れるには「`」(バッククォート)を入れます

公開鍵暗号(id_rsa、id_rsa.pubとか)で認証するなら追加のパッケージをインストールします。
「powershell.exe .\install-sshlsa.ps1」
エラーが発生。
2016y04m29d_180634717.png

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

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

これで「サービス」にも登録された。
2016y04m29d_182415877.png
この「sshd」のプロパティを開いて、「スタートアップの種類」を「自動」にすればマシン起動時にはsshdが起動することとなる。

外部からsshログイン

特別な事はなく、単に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を再起動すれば回復するのだが、、、なんか微妙。あとインストールはしたけど、利用シーンが浮かばない。。。


トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2016-04-30 (土) 16:59:11 (419d)