Windows10 ssh无输出 sshd服务启动失败 1067报错 公钥无法认证链接 解决办法
背景描述
最近突然发现windows 10的ssh服务好像挂了,在系统设置-可选功能那里反复重新安装还是报错。命令行输入ssh按回车无输出(正常情况下应该输出一堆参数说明),但是Get-Command ssh
又可以找到system32下的ssh程序。任务管理器重新启动sshd更是一启动就直接停止。
解决办法
首先尝试修改权限问题,参考这里的思路,右键C:\ProgramData\ssh\logs
,打开文件属性,在“安全”选项卡里把非BUILTIN\Administrators
和NT AUTHORITY\SYSTEM
的用户都给删掉。
然后以管理员权限修改C:\ProgramData\ssh\sshd_config
文件,注释掉最后两行。
Match Group administrators
AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
按理来说这样就可以正常启动sshd和ssh了。如果连不上,看一下防火墙哪里的端口开放设置。
真的解决了吗?
然后睡了一觉突然发现ssh又变成输入命令以后无输出的形式,连vscode也没法链接远程服务器了。祭出终极解决方案!直接在Github仓库下载对应的zip包,下载OpenSSH-Win64.zip
解压缩到自己本地随便一个目录。在里面启动管理员的powershell,然后依次运行如下三个脚本即可。 会自动创建服务,并把这个目录添加到系统path里。重新打开新的powershell就可以正常使用了。
.\install-sshd.ps1 # 全是
.\FixHostFilePermissions.ps1
.\FixUserFilePermissions.ps1
只能说windows逆天更新时不时就会闹幺蛾子,不知道这次的问题又是哪次更新导致的,差评。