云计算百科
云计算领域专业知识百科平台

Mac通过SSH实现通过公钥密钥免密码与Windows工作站/服务器连接:常见的坑

目录

具体安装教程

常见的坑

Windows中特有的操作:

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

需要修改sshd_config配置文件

Windows如果本身没有登录密码,则无法使用SSH公钥密钥连接


一、具体安装教程

服务器端方法看这篇

Windows OpenSSH 服务器启用密钥登录 – 知乎https://zhuanlan.zhihu.com/p/404179039

客户端公钥密钥生成方法详情看这篇

SSH简介及两种远程登录的方法-CSDN博客https://blog.csdn.net/li528405176/article/details/82810342

客户端公钥密钥进阶一点看这篇

Mac终端 使用ssh密钥登录Linux_mac terminal 密钥登陆-CSDN博客https://blog.csdn.net/lvtu_rain/article/details/111719491


二、常见的坑

2.1 Windows中特有的操作:


2.1.1 更改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"


2.1.2 需要修改sshd_config配置文件

需要管理员权限(推荐使用vscode打开编辑,可以快速获取管理员权限)

#配置文件目录:
C:\\ProgramData\\ssh\\sshd_config

使用vscode打开sshd_config文件,搜索后检查并修改以下配置:

#允许公钥授权访问,确保:不被注释
PubkeyAuthentication yes

#授权文件存放位置,确保:不被注释
AuthorizedKeysFile.ssh/authorized_keys

#(可选)关闭密码登录,提高安全性
PasswordAuthentication no

#注释掉默认授权文件位置,确保:被注释!!!
#Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

请保持以上3个(或4个条目) “被注释”的情况与以上展示的保持一致

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

#重启sshd,需要管理员权限
Restart-Service sshd


这里有大坑!!!Windows默认隐藏C盘目录下的'ProgramData'文件夹

需要在C盘目录下,开启:'查看-隐藏的项目',Windows11同理

2.2Windows如果本身没有登录密码,则无法使用SSH公钥密钥连接

 解决方法:

win+R运行,输入:

secpol.ms

如下图所示:安全设置-本地策略- 安全选项-账户:使用空密码的本地账号……

选择禁用,然后在powershell中restart sshd即可

赞(0)
未经允许不得转载:网硕互联帮助中心 » Mac通过SSH实现通过公钥密钥免密码与Windows工作站/服务器连接:常见的坑
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!