pubkey登录到Windows远程主机(win11)

转自 https://zhuanlan.zhihu.com/p/404179039


添加本地pubkey到远程authorized_keys文件之后
需要继续执行如下操作


以下是windows中特有的操作

更改authorized_keys文件权限,不更改则无法通过密钥登录

远程通过ACL更改文件权限

ssh --% user1@ip icacls.exe "C:\Users\username\.ssh\authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
在服务器端则可以通过以下命令修改,注意需要管理员权限。

在服务器端修改authorized_keys文件权限

icacls.exe "C:\Users\username\.ssh\authorized_keys" /inheritance:r /grant "Administrators:F" /grant "SYSTEM:F"
在Windows OpenSSH中,默认的授权密钥存放位置为ProgramData\ssh\administrators_authorized_keys,此位置对应为管理用户权限。因此需要修改默认授权文件位置。通过文本编辑器(推荐vscode)打开ProgramData\ssh\sshd_config,修改以下条目

允许公钥授权访问,确保条目不被注释

PubkeyAuthentication yes

授权文件存放位置,确保条目不被注释

AuthorizedKeysFile .ssh/authorized_keys

可选,关闭密码登录,提高安全性

PasswordAuthentication no

注释掉默认授权文件位置,确保以下条目被注释

#Match Group administrators
#AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

注意修改sshd_config需要管理员权限,修改完成后保存并推出。

在PowerShell(管理员)中重启sshd服务

重启sshd,需要管理员权限

Restart-Service sshd
至此可以尽情享受windows服务器带来的各种不便了!enjoy!!!

posted @   feipeng8848  阅读(435)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2020-04-14 C# datetime 输出格式
点击右上角即可分享
微信分享提示