「这是我参与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
-
如果登陆用户属于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`)
-
重启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 解决方案:
- 卸载 OpenSSH Server # 若提示重启,则重启
- 删除以下文件夹 # 需开启显示隐藏的项目:导航栏->查看->打勾:隐藏的项目
C:\Users\用户\用户名.ssh
C:\ProgramData\ssh
3 安装 OpenSSH Server # 若提示重启,则重启
4 启动 OpenSSH Server 服务