windows-ssh配置.md 3.0 KB


notion-id: d5286b5c-ad06-4b19-b1c4-2bdb6bbc81

开启防火墙的IPV4,IMCP回显就无法显示。 ![[IMG-20260516155655302.png]] ==重要提示:本地的密钥对应远程的公钥==。 1、通过windwos系统→应用→可选应用安装openSSH服务端 2、使用net start sshd 开启ssh服务【管理员权限】,然后关闭net stop sshd 服务进行配置 3、确保防火墙关闭或防火墙有放开22端口。 4、本地(客户端)生成公钥

ssh-keygen -t rsa

切换到路径:C:\Users\your_userName.ssh,找到公钥文件id_rsa.pub,复制公钥文件内容。

5、服务端C:\Users\your_userName.ssh下创建文件**authorized_keys**(没有文件后缀),粘贴公钥,保存退出。 6、服务端切换到C:\ProgramData\ssh\下(首次启动sshd后会生成该文件夹),打开sshd_config 文件【如果保持提示没有权限,可自己配置everyone权限修改&使用notepad++直接修改】

确保以下3条没有被注释
PubkeyAuthentication yes
AuthorizedKeysFile	.ssh/authorized_keys
PasswordAuthentication no

确保以下2条有注释掉
#Match Group administrators
#       AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

7、重启服务:net start sshdRestart-Service sshd 8、客户端输入 ssh your_userName@your_IP_Adress 即可 your_userName 可以通过打开cmd看你本地目录文件名称C:\Users\zhensolid 9、多台win主机互相免密,操作同上,不过需要每台主机的authorized_keys都需要包含其他主机公钥,即包含多条公钥记录。 10、可用vscode进行ssh远程连接

[!note]+ # windows问题排查 如果**正确生成了加密密钥**并且配置好了SSH服务器的**authorized_keys文件**之后仍然需要输入密码使用ssh,那么需要进行以下三个步骤的检查: ■ 第一步:Win键+R键,输入并运行services.msc,打开服务列表,检查OpenSSH Authentication Agent服务是否正常运行。没有运行的话需要启动改服务。 ■ 第二步:打开文件资源管理器,进入C:\ProgramData\ssh文件夹(建议直接输入路径进入,一般情况下ProgramData是隐藏文件夹),打开sshd_config文件,检查以下内容是否被正确注释掉:(修改该文件需要管理员权限)

# Match Group administrators
#        AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

■ 第三步:(最重要)进入C:\Users\用户名.ssh文件夹,检查authorized_keys文件的权限,按照以下步骤进行:

  1. 右键authorized_keys,选择属性->安全->高级->(左下角)**禁用继承**
  2. 弹框选择**将已继承的权限转换为此对象的显式权限。**
  3. **权限条目**中删除除了**SYSTEM****当前用户**外的所有权限,然后应用并退出。如下图所示:

![[IMG-20260516155655356.webp]] 之后再尝试进行ssh登录,就不会再出现输入密码的提示了。