2017年7月10日月曜日

redmine 업로드 파일 조절

redmine이 있는 서버에 mod_security를 인스톨 하게 되면, 갑자기 큰 파일이 upload가 되지 않는 경우가 잇습니다.
그 이유를 간단하게 설명 해보려 합니다.
mod_security는 여러분들이 알고 계시는 유명한 OSS WAF입니다.
여기서는 WAF의 자세한 이야기는 하지 않도록 하겠습니다.
파일가 upload가 되지 않을 경우 mod_security.conf파일을 설정하여 고치는 방법을 설명하겠습니다.

1.128K이상의 파일이 upload안되는 경우.

이경우는 modsecury.conf파일의 SecRequestBodyInMemoryLimit가 원인입니다.
Default은 131072 = 128K입니다. 128K까지는 메모리에서 관리하고 있어 특별하게 문제 되지는 않습니다. 하지만 128K를 넘어가게 되면 일시 보존 하는 영역이 필요하게 됩니다. 그러나 그영역을 사용하지 못할때는 파일이 업로드 되질 않게 됩니다.

  에러 내용은
  1) redmine의 WEB페이지에서 Internal Server Error가 표시됩니다.
  2) 아파치의 error_log 파일에 ModSecurity: Input filter: Failed to delete temporary file: /var/lib/mod_security/20170705-221423-WVzmL4sPzhG615I03jCL0gAAAAo-request_body-aP6VqV 와 같이 쓰여짐니다.

 대책:SecRequestBodyInMemoryLimit을 크게 합니다. 그러나, 물리적 메모리의 사이즈는 한계가 있으므로/var/lib/mod_security/의 폴더의 권한을 httpd를 실행하는 유져가 쓸수 있는 권한을 주든지 아니면 아파치 실행유져로 OWNER을 변경해 주십시요.

2.12.5M이상의 파일이 업로드가 안될때.

1번을 해결하고 나서 또 에러가 나는 경우 입니다.
그 이유는 mod_security.conf파일에 있는 SecRequestBodyLimit값이 원인 입니다.
  Default은 13107200 = 12.5M입니다. 이 변수의 의미는 첨부 파일을 포함한 사이즈가 12.5M이상인 경우에는 업로드가 안되게 하는 변수 입니다.

  에러 내용은
  1) redmine의 WEBページ에 Request Entity Too Large가 표시됩니다.
  2) 아피치의 error_log파일에서는 ModSecurity: Request body (Content-Length) is larger than the configured limit (13107200). 가 쓰여져 있습니다.

 대책:SecRequestBodyLimit의 값을 redmine의 첨부 파일 값과 같이 하거나 더 크게 해 주십시요.

이상 입니다.

2017年7月5日水曜日

redmine アップロードファイルの制御

redmineがあるサーバーにてmod_securityをインストールしてから、ファイルのアップロードができない場合があります。
その理由に関して簡単に説明します。
mod_securityとは皆さんがご存知な有名OSS WAFです。
WAFとはWeb Application Firewallです。
ここではWAFについては詳しく説明はしません。
ここではmod_security.confファイルの設定に関して説明します。

1.128K以上のファイルがアップできません。

この理由はmod_security.confファイルのSecRequestBodyInMemoryLimit値が
  原因です。
  Defaultは131072 = 128Kです。128Kまではメモリにて管理しているので問題ない
  ですが128K以上になると一時保存フォルダを利用します。そのフォルダへ書く権限
  がないとエラーが起きます。

  エラー内容
  1) redmineのWEBページではInternal Server Errorエラーが起きる
  2) error_log ファイルにModSecurity: Input filter: Failed to delete temporary file: /var/lib/mod_security/20170705-221423-WVzmL4sPzhG615I03jCL0gAAAAo-request_body-aP6VqV が書かれる

 対策:SecRequestBodyInMemoryLimit大きくする。しかし、物理メモリの限界がありますので/var/lib/mod_security/のフォルダ権限をhttpdの実行ユーザーが書けるようにOWNERを変更します。

2.12.5M以上のファイルがアップできません。

1番を解決しているのにも関わらずまたエラーが起きます。
  この理由はmod_security.confファイルのSecRequestBodyLimit値が原因です。
  Defaultは13107200 = 12.5Mです。添付ファイルを含めたデータのサイズが12.5M以上の場合はできません。

  エラー内容
  1) redmineのWEBページではRequest Entity Too Largeエラーが起きます。
  2) error_log ファイルに ModSecurity: Request body (Content-Length) is larger than the configured limit (13107200).が書かれています。

 対策:SecRequestBodyLimitの値を先にredmineのファイル設定と同様にしてください

以上、ご参考ください。
    

2017年7月3日月曜日

windows 2012R2에서 sshd서버 구축하기

Windows 서버에서는 ssh를 이용하기 위해서는 ssh서버를 구축하지 해야만 합니다. 이것을 구축하게 되면 Zabbix또는 Job Arranger에서 Agentless를 이용할 수 있게됩니다. 여기서는 sshd서버 v0.0.17.0을 기준으로 하겠습니다.
언제나 화면 켑쳐가 일본어 인 부분은 양해해 주시길 바라겠습니다.

1.Win32-OpenSSH Download

https://github.com/PowerShell/Win32-OpenSSH/releases
  에서 OpenSSH-Win64.zip을 Download합니다.

2.Windows Server에 설치

2.1 OpenSSH-Win64폴더를 작성

Download한 OpenSSH-Win64.zip파일을 적당한 장소에서 해동 합니다.
저의 경우에는 C:\tmp에 만들 었습니다.


2.2 인스톨 합니다.

해동한 폴데에서 install-sshd.ps1을 Powershell로 인스톨 합니다.
C:\tmp\OpenSSH-Win64>powershell install-sshd.ps1
install-sshd.ps1 : 用語 'install-sshd.ps1' は、コマンドレット、関数、スクリプト
 ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記
述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認し
てから、再試行してください。
発生場所 行:1 文字:1
+ install-sshd.ps1
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (install-sshd.ps1:String) [], Co
   mmandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException
C:\tmp\OpenSSH-Win64>
이런 경우에는
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
을 참조해서 인스톨 해주십시요.
C:\tmp\OpenSSH-Win64>powershell -ExecutionPolicy Bypass -File install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
sshd and ssh-agent services successfully installed

C:\tmp\OpenSSH-Win64>.\ssh-keygen.exe -A
.\ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519


C:\tmp\OpenSSH-Win64>powershell -ExecutionPolicy Bypass -File FixHostFilePermiss
ions.ps1
  [*] C:\tmp\OpenSSH-Win64\sshd_config

'BUILTIN\Users' should not have access to 'C:\tmp\OpenSSH-Win64\sshd_config'..
Shall I remove this access?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'BUILTIN\Users' has no more access to 'C:\tmp\OpenSSH-Win64\sshd_config'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\sshd_config'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_dsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_k
ey'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'
.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_
key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa
_key'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_ke
y'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecds
a_key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed255
19_key'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_
key'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub'.

'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed25
519_key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_rsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_k
ey'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'
.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_
key.pub'.
      Repaired permissions
   Done.
C:\tmp\OpenSSH-Win64>



위의 명령어를 정리해 보면,
 1.powershell -ExecutionPolicy Bypass -File install-sshd.ps1
 2..\ssh-keygen.exe -A
 3.powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
   질문에 대해서  A를 입력합니다.
   4. powershell New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName sshd
   Firewall을 개방합니다.

2.3 sshd_config을 편집합니다.

마지막 부분에
PidFile C:/tmp/OpenSSH-Win64/sshd.pid 추가 합니다.
위의 내용은 pid파일을 작성할 장소를 설정하는 것입니다.
물론 sshd.pid파일을 쓸수 있는 권한이 있어야 합니다.
sshd를 실행하고 나서 log파일을 보면 
error: Couldn't create pid file "./sshd.pid": Permission denied
이런 에러가 일어 나면. 폴더와 파일을 쓰는 패스가 맞지 않은 것이므로
만듯이 sshd프로세스가 pid파일을 쓸수 있는 장소를 선택해 주시길 바라겠습니다.

2.4 Windows의 서버스에서 실행

위의 인스톨이 완료되면 서비스 항목에서 밑의 그림과 같이 보일 것입니다.
그럼 sshd를 보고 실행 해 주시길 바라겠습니다.

3.Linux Server에서 접속

[root@localhost ~]# ssh Administrator@parkssh
The authenticity of host 'parkssh (192.168.xxx.xxx)' can't be established.
ECDSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'parkssh' (ECDSA) to the list of known hosts.
Administrator@parkssh's password: 

Microsoft Windows [Version 6.3.9600]                                         (c) 2013 Microsoft Corporation. All rights reserved.                         
Administrator@WORK1 C:\Users\Administrator>dir                                ドライブ C のボリューム ラベルがありません。                                 ボリューム シリアル番号は 6AC7-8328 です                                    
 C:\Users\Administrator のディレクトリ                                       
2017/07/02  10:57    <DIR>          .                                        2017/07/02  10:57    <DIR>          ..                                       2017/07/02  10:58    <DIR>          .ssh                                     2017/03/18  18:50    <DIR>          .VirtualBox                              2017/03/02  20:54    <DIR>          Contacts                                 2017/03/02  20:54    <DIR>          Desktop                                  2017/07/02  18:04    <DIR>          Documents                                2017/06/28  22:19    <DIR>          Downloads                                2017/03/02  20:54    <DIR>          Favorites                                2017/03/02  20:54    <DIR>          Links                                    2017/03/02  20:54    <DIR>          Music                                    2017/03/02  20:54    <DIR>          Pictures                                 2017/03/02  20:54    <DIR>          Saved Games                              2017/03/02  20:54    <DIR>          Searches                                 2017/03/02  20:54    <DIR>          Videos                                   2017/03/18  12:34    <DIR>          VirtualBox VMs                                          0 個のファイル                   0 バイト                                   16 個のディレクトリ  49,632,653,312 バイトの空き領域           
Administrator@WORK1 C:\Users\Administrator>                                  

접속이 되었습니다.
이것으로, Zabbix와 Job Arranger에서 사용할수 있는 sshd를 설치 하였습니다.

참조 ERROR대응

1.
Linux에서 접속 했는데 에러가 나는 경우
[root@localhost ~]# ssh Administrator@parkssh
Read from socket failed: Connection reset by peer
[root@localhost ~]#
または
windows のC:\tmp\OpenSSH-Win64\logs\sshd.log 로그에
fatal: sshd_hostkey_sign: ssh_agent_sign failed: agent refused operation
에 있는 경우에는 
powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
명령어 실행이 필요합니다. 명령어를 정리한 부분을 참조해 주세요.

2.
[root@localhost ~]# ssh Administrator@parkssh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:1
ECDSA host key for 192.168.xxx.xxx has changed and you have requested strict Host key verification failed.
가 일어는 난 경우는 
Linux서버의 .ssh/known_hosts 파일을 삭제해 주세요.

이상입니다.



2017年7月2日日曜日

windows 2012R2で sshdサーバー構築

Windowsサーバーにてsshを利用するためにはsshサーバーを構築しなければならないです。それを構築するとZabbixまたはJob ArrangerでAgentlessの利用でできるようになります。ここではsshdサーバーv0.0.17.0を利用します。

1.Win32-OpenSSH Download

https://github.com/PowerShell/Win32-OpenSSH/releases
  でOpenSSH-Win64.zipをDownloadします。

2.Windows Serverで設置

2.1 OpenSSH-Win64フォルダ作成

DownloadしたOpenSSH-Win64.zipファイルを適当な場所で解凍します。
  僕の場合はC:\tmp下に作りました。

2.2 インストールします。

作成したファイルのinstall-sshd.ps1をPowershellでインストールします。
C:\tmp\OpenSSH-Win64>powershell install-sshd.ps1
install-sshd.ps1 : 用語 'install-sshd.ps1' は、コマンドレット、関数、スクリプト
 ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記
述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認し
てから、再試行してください。
発生場所 行:1 文字:1
+ install-sshd.ps1
+ ~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (install-sshd.ps1:String) [], Co
   mmandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException


C:\tmp\OpenSSH-Win64>

この場合は
https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH
を参考しながらインストールします。
C:\tmp\OpenSSH-Win64>powershell -ExecutionPolicy Bypass -File install-sshd.ps1
[SC] SetServiceObjectSecurity SUCCESS
[SC] ChangeServiceConfig SUCCESS
[SC] ChangeServiceConfig2 SUCCESS
sshd and ssh-agent services successfully installed

C:\tmp\OpenSSH-Win64>.\ssh-keygen.exe -A
.\ssh-keygen.exe: generating new host keys: RSA DSA ECDSA ED25519




C:\tmp\OpenSSH-Win64>powershell -ExecutionPolicy Bypass -File FixHostFilePermiss
ions.ps1
  [*] C:\tmp\OpenSSH-Win64\sshd_config

'BUILTIN\Users' should not have access to 'C:\tmp\OpenSSH-Win64\sshd_config'..
Shall I remove this access?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'BUILTIN\Users' has no more access to 'C:\tmp\OpenSSH-Win64\sshd_config'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\sshd_config'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_dsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_k
ey'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key'
.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_dsa_
key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa
_key'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_ke
y'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ecdsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ecds
a_key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed255
19_key'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_
key'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_ed25519_key.pub'.

'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_ed25
519_key.pub'.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_rsa_key

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'.
'WORK1\Administrator' has no more access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_k
ey'.
'NT SERVICE\sshd' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key'
.
      Repaired permissions

  [*] C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub

Current owner: 'WORK1\Administrator'. 'NT AUTHORITY\SYSTEM' should own
'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub'.
Shall I set the file owner?
[Y] はい(Y)  [A] すべて続行(A)  [N] いいえ(N)  [L] すべて無視(L)  [S] 中断(S)
[?] ヘルプ(既定値は "Y"): A
'NT AUTHORITY\SYSTEM' now owns 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_key.pub'.
'WORK1\Administrator' now has Read access to 'C:\tmp\OpenSSH-Win64\ssh_host_rsa_
key.pub'.
      Repaired permissions
   Done.
C:\tmp\OpenSSH-Win64>



コマンドを順番で纏め、
 1.powershell -ExecutionPolicy Bypass -File install-sshd.ps1
 2..\ssh-keygen.exe -A
 3.powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
   聞かれると全部 Aで回答します。
   4. powershell New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName sshd
   Firewall開放

2.3 sshd_configを編集

最後の部分に
PidFile C:/tmp/OpenSSH-Win64/sshd.pidを追記します。
意味はpidファイルを作成する場所です。
sshd.pidファイルの書く権限がないと
sshd起動後logファイルに
error: Couldn't create pid file "./sshd.pid": Permission denied
エラーが起きます。
必ずsshd プロセスが書ける場所に指定お願いいたします。

2.4 Windowsのサービスから起動

インストールが完了すると
Windowsマークがあるツールバーで右クリックをしてタスクマネージャーを起動してサービスをクリックします。
そこにはsshdとssh-agentが見られます。
それを右クリックをして起動かけます。

3.Linux Serverから接続

[root@localhost ~]# ssh Administrator@parkssh
The authenticity of host 'parkssh (192.168.xxx.xxx)' can't be established.
ECDSA key fingerprint is xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'parkssh' (ECDSA) to the list of known hosts.
Administrator@parkssh's password: 

Microsoft Windows [Version 6.3.9600]                                         (c) 2013 Microsoft Corporation. All rights reserved.                         
Administrator@WORK1 C:\Users\Administrator>dir                                ドライブ C のボリューム ラベルがありません。                                 ボリューム シリアル番号は 6AC7-8328 です                                    
 C:\Users\Administrator のディレクトリ                                       
2017/07/02  10:57    <DIR>          .                                        2017/07/02  10:57    <DIR>          ..                                       2017/07/02  10:58    <DIR>          .ssh                                     2017/03/18  18:50    <DIR>          .VirtualBox                              2017/03/02  20:54    <DIR>          Contacts                                 2017/03/02  20:54    <DIR>          Desktop                                  2017/07/02  18:04    <DIR>          Documents                                2017/06/28  22:19    <DIR>          Downloads                                2017/03/02  20:54    <DIR>          Favorites                                2017/03/02  20:54    <DIR>          Links                                    2017/03/02  20:54    <DIR>          Music                                    2017/03/02  20:54    <DIR>          Pictures                                 2017/03/02  20:54    <DIR>          Saved Games                              2017/03/02  20:54    <DIR>          Searches                                 2017/03/02  20:54    <DIR>          Videos                                   2017/03/18  12:34    <DIR>          VirtualBox VMs                                          0 個のファイル                   0 バイト                                   16 個のディレクトリ  49,632,653,312 バイトの空き領域           
Administrator@WORK1 C:\Users\Administrator>                                  

接続できました。
これで、ZabbixとJob ArrangerのAgentlessができます。

4.エラー対応

1.
Linuxから接続ができない場合
[root@localhost ~]# ssh Administrator@parkssh
Read from socket failed: Connection reset by peer
[root@localhost ~]#
または
windows のC:\tmp\OpenSSH-Win64\logs\sshd.logログに
fatal: sshd_hostkey_sign: ssh_agent_sign failed: agent refused operation
になる場合は
powershell -ExecutionPolicy Bypass -File FixHostFilePermissions.ps1
作業が必要です。”コマンドを順番で纏め、”をご参考ください。

2.
[root@localhost ~]# ssh Administrator@parkssh
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in /root/.ssh/known_hosts:1
ECDSA host key for 192.168.xxx.xxx has changed and you have requested strict Host key verification failed.
になる場合は
.ssh/known_hostsファイルを削除ください。

以上です。ご参照ください。