解决windows11下SSH不能连接远端服务器-Permission denied (publickey)-Permissions for ‘xxx‘ are too open-管道不存在等问题

服务器 0

文章目录

  • 可能出现的报错
  • 问题解决
    • config文件配置
    • 确认服务安装情况
    • 密钥访问权限控制
    • 密钥访问端口加入
    • 最终测试

可能出现的报错

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Permissions for 'xxx' are too open.
Permission denied (publickey)
Bad configuration option: permitrootlogin
connect to host port 22: Connection refused
过程试图写入的管道不存在

问题解决

按照下面的步骤做一遍。我也搞不清哪些解决方式和哪些问题对应,多试一试就好了。

config文件配置

Host xxx  HostName xxx.xx.xx.xxx  User xxx  Port 22  IdentityFile "xxx"  PasswordAuthentication yes

HostName和User换成对应的名字。
IdentityFile换成对应的密匙文件。

确认服务安装情况

在搜索栏搜索服务:
在这里插入图片描述
确认电脑上有这两个服务:

在这里插入图片描述
状态和我上面设置的一样。(记得更改运行状态。我设置成正在启动/自动延迟是可以用的)
如果没有,需要安装对应的服务。
可以选择在下面的网址安装:OpenSSH安装链接

https://github.com/PowerShell/Win32-OpenSSH/releases

或者在设置->可选功能里安装。(我的电脑不知道为什么只有一个服务,很奇怪,最后网上安装的)
在这里插入图片描述
在这里插入图片描述
最终要达到这个状态:(这两个都要有)
在这里插入图片描述
检验是否安装成功:
输入:

ssh localhost

如果输出:

ssh: connect to host localhost port 22: Connection refused

那就是要么没安装成功,要么没有启动服务。

密钥访问权限控制

如果出现类似这样的信息:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Permissions for 'xxx' are too open.

那就是权限的问题。打开你的密匙文件->属性->安全,点击高级。
在这里插入图片描述

禁用继承,变成这样:
在这里插入图片描述
直接点击第二步:(其实第一步应该也行,我是直接后面再添加一个回来)
在这里插入图片描述
然后应用确定都点一点
在这里插入图片描述

点击编辑:在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
注意选择第二个(Administrators)。我选了第一个之后就不对了,也不知道为什么。
点击确定->确定->确定(应用也可以点一下)
之后应该就不再会出现这种类型的报错。
如果你显示了无权更改的报错,那可能是因为现在在以管理员权限访问。

密钥访问端口加入

管理员权限打开powershell(不用这个权限可能会报错),输入:

ssh-add -L

应该会返回

The agent has no identities.

之后输入

ssh-add "xxx"   

xxx是你的密匙文件对应的路径
如果返回:

Permission denied

那可能是权限的问题(我就是这样),返回第三步调整权限。(这个在我的设备上是因为分配的那一个用户错了,我最后分配给Administrators成功了)
如果返回:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@Permissions for 'xxx' are too open.It is required that your private key files are NOT accessible by others.This private key will be ignored.

那应该是权限的问题(我就是这样),返回第三步调整权限。(这个可能是分配的用户太多了,正常情况应该只剩下一个用户)

如果出现:

Identity added: xxx (yyy)

说明这一步成功了。

最终测试

显示连接正常!

也许您对下面的内容还感兴趣: