--- notion-id: d5286b5c-ad06-4b19-b1c4-2bdb6bbc8110 --- **开启防火墙的IPV4,IMCP回显就无法显示。** ![[IMG-20260516155655302.png]] ==**重要提示:本地的密钥对应远程的公钥**==。 1、通过windwos系统→应用→可选应用安装openSSH服务端 2、使用`net start sshd` 开启ssh服务【管理员权限】,然后关闭`net stop sshd` 服务进行配置 3、确保防火墙关闭或防火墙有放开22端口。 4、本地(客户端)生成公钥 ```javascript 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++直接修改】` ```javascript 确保以下3条没有被注释 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no 确保以下2条有注释掉 #Match Group administrators # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys ``` 7、重启服务:`net start sshd` ,`Restart-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**文件,检查以下内容是否被正确注释掉:(修改该文件需要管理员权限) > ```javascript > # Match Group administrators > # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys > ``` > ■ 第三步:(**最重要**)进入**C:\Users\用户名\.ssh**文件夹,检查**authorized_keys**文件的权限,按照以下步骤进行: > 1. 右键authorized_keys,选择属性->安全->高级->(左下角)`**禁用继承**` > 2. 弹框选择`“``**将已继承的权限转换为此对象的显式权限。**``”` > 3. 在`**权限条目**`中删除除了`**SYSTEM**`和`**当前用户**`外的所有权限,然后应用并退出。如下图所示: > > ![[IMG-20260516155655356.webp]] > 之后再尝试进行ssh登录,就不会再出现输入密码的提示了。