Windows下安装OpenSSH服务教程

基于PowerShell的OpenSSH:https://github.com/PowerShell/Win32-OpenSSH/releases

安装步骤:

1、进入链接下载最新 OpenSSH-Win64.zip(64位系统),解压至C:\Program Files\OpenSSH

2、打开cmd,cd进入C:\Program Files\OpenSSH(安装目录),执行命令:

3、设置服务自动启动并启动服务:

到此服务已经安装完毕,默认端口一样是22,默认用户名密码为Window账户名和密码,当然防火墙还是要设置对应端口允许通讯

修改设置:

通常linux下会修改ssh_config文件来修改ssh配置,但在安装目录并没有发现这个文件,查阅官方wiki后发现,原来是在C:\ProgramData\ssh目录下(此目录为隐藏目录)

端口号:Port 22

密钥访问:PubkeyAuthentication yes

密码访问:PasswordAuthentication no

空密码:PermitEmptyPasswords no

然后进入C:\Users\账户名.ssh目录,创建authorized_keys公钥文件(也可在ssh_config修改路径)(仅限7.7之前版本,7.9版本请看最后更新)

设置完成后重启sshd服务,接下来就可以使用Xshell等工具使用密钥连接了。

遇到的问题:

命令行不识别空格时:C:\Program Files\用C:\Progra~1\替代

Windows Service2012R2即使配置了.ssh/authorized_keys公钥,连接时依然显示没有注册公钥。。。

查阅了官方wiki判断可能是权限问题:

公钥无法注册

新部署服务器的时候,发现公钥无法注册,发现新版本有变动:

参考官方wiki:administrators_authorized_keys

Administrators用户组的用户连接公钥,默认位置为

C:\ProgramData\ssh\administrators_authorized_keys

并且需要设置权限,在CMD(注意是否需要管理员权限运行cmd)中执行命令:

icacls administrators_authorized_keys /inheritance:r

icacls administrators_authorized_keys /grant SYSTEM:(F)

icacls administrators_authorized_keys /grant BUILTIN\Administrators:(F)

修改ssh_config文件:

AuthorizedKeysFile %programdata%/ssh/administrators_authorized_keys

重启sshd服务,即可使用密钥登陆SSH

0

发表评论

邮箱地址不会被公开。