搭建Windows7 openssh服务器
第一步、下载并安装
访问 https://github.com/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.com/u_11101184/3136065
更多推荐
所有评论(0)