admin 管理员组

文章数量: 887021

第一步、下载并安装
访问 https://github/PowerShell/Win32-OpenSSH/releases 页面,

下载 OpenSSH-Win64.zip 二进制包(或者根据需要下载其他版本)。

 

将二进制包解压到 C:\Program Files\ 中,文件夹可以不改名。该包中包含客户端(ssh)与服务端(sshd)命令。

 

第二步、配置客户端
为了能够在 cmd 中使用客户端命令(比如scp、ssh),我们需要配置环境变量。

在 Windows 7 中,计算机 => 属性 => 高级系统设置 => 环境变量...,这里不再深入展开。

如果仅需使用客户端命令到此步骤即可。

第三步、配置服务端
安装服务
进入安装目录,C:\Program Files\OpenSSH-Win64,

执行 powershell -executionpolicy bypass -file install-sshd.ps1 命令安装服务。

执行 .\ssh-keygen.exe -A 命令,生成主机密钥,该密钥用于服务启动。

防火墙配置
如果开启Windwos防火墙,需要放行某些端口,或者关闭防火墙。

启动服务
启动服务:

net start ssh-agent,

net start sshd

配置服务开启动,

Set-Service sshd -StartupType Automatic,

Set-Service ssh-agent -StartupType Automatic

验证服务有效
在任务管理器中查看sshd与ssh-agent服务进程是否存在,以确定服务是否正常启动。

然后,使用 ssh 命令远程该主机,以验证能够通过 ssh 访问 Windows Shell。

常见错误汇总
RSA Could not save your public key in __PROGRAMDATA__\\ssh/xxxxxxx: No Such file of directory"
问题描述:
在执行 .\ssh-keygen.exe -A 命令时,产生该错误。

问题原因:
目录__PROGRAMDATA__\ssh不存在,需要手动创建。

解决办法:
创建__PROGRAMDATA__\ssh目录。

发生系统错误 1067(System error 1067)
Getting “System error 1067” when trying to start OpenSSH service #1272
Security protection of various files in Win32 OpenSSH

问题描述:
在使用 net start sshd 命令启动服务时,产生该错误。

问题原因:
私钥文件由 .\ssh-keygen.exe -A 命令创建,位于__PROGRAMDATA__\ssh目录,所属用户为创建私钥用户。

权限错误导致该问题发生,私钥文件权限必须归属于 SYSTEM 用户。

解决办法:
修改私钥文件的权限,移除当前用户。进入__PROGRAMDATA__\ssh目录:

#!/bin/sh

icacls ssh_host_dsa_key /setowner system
icacls ssh_host_ecdsa_key /setowner system
icacls ssh_host_ed25519_key /setowner system
icacls ssh_host_rsa_key /setowner system

icacls ssh_host_dsa_key /remove "your username"
icacls ssh_host_ecdsa_key /remove "your username"
icacls ssh_host_ed25519_key /remove "your username"
icacls ssh_host_rsa_key /remove "your username"


参考文献
https://blog.51cto/u_11101184/3136065

本文标签: 服务器 openssh