windows ssh
windows10には、Openssh Clientがインストールされている
ネットワーククライアントPCにssh接続するには、
クライアントPCに Opensshサーバーをインストール
windows設定からインストールできる。
ESPRIMO-MAPI 32ビットPCでは、インストールできない?
OpenSSH-Win32.zipをダウンロード、C:\OpenSSH-Win32に配置
インストール後
OpenSSH サーバーのホストキーを下記コマンドで生成します。
コマンド実行時にパスフレーズを聞かれますが、何も入力しないで Enter キーを入力
PS C:\Users\mapi> cd c:\OpenSSH-Win32
PS C:\OpenSSH-Win32> ssh-keygen.exe -t rsa -f ssh_host_rsa_key
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ssh_host_rsa_key.
Your public key has been saved in ssh_host_rsa_key.pub.
The key fingerprint is:
SHA256:Nhu+Dmw3wnO7Q9o0F+btSmObI8GpiTaW3xPTgd8z3So mapi@esprimo-mapi
The key's randomart image is:
+---[RSA 2048]----+
| |
| |
| . |
| . + |
| .S* = . . |
| o oX+= = . .|
| oBB**+. o . |
| *.+B=*.+E . |
| o o..*=+o . |
+----[SHA256]-----+
PS C:\OpenSSH-Win32> ssh-keygen.exe -t dsa -f ssh_host_dsa_key
PS C:\OpenSSH-Win32> ssh-keygen.exe -t ecdsa -f ssh_host_ecdsa_key
PS C:\OpenSSH-Win32> ssh-keygen.exe -t ed25519 -f ssh_host_ed25519_key
Windows のファイアウォール の SSH の 22番ポートを開放
PS C:\OpenSSH-Win32> New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -Action Allow -DisplayName SSH
New-NetFirewallRule : アクセスが拒否されました。
発生場所 行:1 文字:1
+ New-NetFirewallRule -Protocol TCP -LocalPort 22 -Direction Inbound -A ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (MSFT_NetFirewallRule:root/standardcimv2/MSFT_NetFirewallRule) [New-Ne
tFirewallRule], CimException
+ FullyQualifiedErrorId : Windows System Error 5,New-NetFirewallRule
PS C:\OpenSSH-Win32> netsh advfirewall firewall add rule name="sshd" dir=in action=allow protocol=TCP localport=22
要求された操作には、権限の昇格が必要です。管理者として実行してください。
SSH の 22番ポートを開放・・・コマンドプロンプトを管理者として実行
Microsoft Windows [Version 10.0.17134.829]
(c) 2018 Microsoft Corporation. All rights reserved.
C:\WINDOWS\system32>netsh advfirewall firewall add rule name="sshd" dir=in action=allow protocol=TCP localport=22
OK
タスクスケジューラで Windows の起動時に OpenSSH を実行
c:\OpenSSH-Win32 にある、setup-ssh-lsa.cmd を管理者権限で実行し、Windows を再起動
C:\WINDOWS\system32>cd c:\OpenSSH-Win32
c:\OpenSSH-Win32>setup-ssh-lsa.cmd
'setup-ssh-lsa.cmd' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
c:\OpenSSH-Win32>ssh.exe mapi@esprimo-mapi
ssh: connect to host esprimo-mapi port 22: Connection refused
Admin 権限で SSH デーモンを実行する方法
ローカルセキュリティポリシーを起動
secpol.msc を実行(ファイルを指定して実行等)
ローカルポリシー >> ユーザー権限の割り当て >> プロセスレベルトークンの置き換え で、
OpenSSH サーバーを実行する Admin 権限を持つユーザー(ESPRIMO-MAPI\mapi)を追加
後、一度、ログアウトして、ログオン
windows SSHサーバーへ接続する
c:\OpenSSH-Win32>ssh.exe mapi@esprimo-mapi
ssh: connect to host esprimo-mapi port 22: Connection refused
# ssh -l ユーザー名 サーバーIPアドレス