Windows Server 2019 使用OpenSSH搭建SSH服务端 - 2

677 阅读2分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战

OpenSSH配置

配置文件

%PROGRAMDATA%\ssh\sshd_config

默认是密码认证和公钥认证都开启的,也可以修改上述文件进行控制:

PubkeyAuthentication yes
PasswordAuthentication no

密码登录

使用Windows账户密码登陆。

ssh user@host

公钥登陆

  • 复制客户端的公钥

  • 创建 %USERPROFILE%\.ssh\authorized_keys 文件,将上述客户端公钥内容拷贝到其中,检查authorized_keys文件权修改,确保只有System, Administrators and owner可以访问

    icacls %USERPROFILE%\.ssh\authorized_keys
    

    image.png

  • 如果登陆用户属于administrators组,还需要创建%PROGRAMDATA%\ssh\administrators_authorized_keys文件,同样拷贝客户端公钥内容拷贝到其中,这个文件只能SYSTEM和Administrators组访问,可以执行:

    icacls administrators_authorized_keys /inheritance:r
    icacls administrators_authorized_keys /grant SYSTEM:`(F`)
    icacls administrators_authorized_keys /grant BUILTIN\Administrators:`(F`)
    

    image.png

  • 重启sshd服务

    net stop sshd
    net start sshd
    

客户端登陆 - 命令行

ssh -i 公钥路径 user@host

客户端登陆 - 使用putty访问

putty是常用的ssh客户端工具,功能更加丰富,使用密钥登陆需要生成putty的密钥格式。

运行puttygen.exe,点击Load,载入上述客户端密钥文件,然后点击Save private key,假设保存为C:\myssh.ppk

然后在putty中就可以用上述ppk文件进行登陆认证。

常见问题

1607 错误

问题描述:

  • 只要启动 OpenSSH SSH Server(SSHD) 服务,必定报错:错误 1067
  • 恢复 administrators_authorized_keys 文件权限,启动,报错:错误 1067
  • 恢复 sshd_config 配置文件,启动,报错:错误 1067
  • 卸载,重启,安装 OpenSSH Server / 服务器,重启,启动,报错:错误 1067 解决方案:
  1. 卸载 OpenSSH Server # 若提示重启,则重启
  2. 删除以下文件夹 # 需开启显示隐藏的项目:导航栏->查看->打勾:隐藏的项目
C:\Users\用户\用户名.ssh
C:\ProgramData\ssh

3 安装 OpenSSH Server # 若提示重启,则重启
4 启动 OpenSSH Server 服务