我正在尝试在两台 Windows 计算机之间建立 ssh 连接。以下是我所做的操作:
- 我在两台机器上都安装了 OpenSSH,生成了 ssh 密钥并将公钥放在主机文件夹中的文件中
authorized_keys
,.ssh
并将公钥和私钥文件保存在本地机器的.ssh
文件夹中。 - sshd 和 ssh-agent 处于 Running 状态,sshd_config 文件已经设置完毕
"PubkeyAuthentication yes"
且"PasswordAuthentication no"
。 - 为了确保这不是防火墙问题,我创建了一条规则来允许端口 22 上的入站流量。
- 我在文件权限中禁用了继承。在文件权限中
authorized_keys
只有我的用户,并且它具有完全控制权。 - 我还评论了下面的行
sshd_config
:
# Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
我注意到的另一件事是,当我在主机上执行Stop-Service sshd
并运行sshd
时,我可以成功地通过 ssh 进入主机,但是当我这样做Start-Service sshd
时,会出现权限被拒绝的问题。这里有什么区别?
此处拒绝许可的原因可能是什么?我遗漏了什么?
上下文(不确定是否重要):我有一台固定计算机和一台笔记本电脑,我正在尝试设置 ssh,以便我可以从我的笔记本电脑远程访问固定计算机。
编辑:我在这里发现:在 Windows 中启动 OpenSSH 服务器并启用调试消息(-d)我应该更改登录属性,但是成功将其更改为我的用户后Could not start the openssh ssh server service on local computer, error 1069: the service did not start due to logon failure
,尽管密码被接受为正确,但我还是得到了 。在日志中我可以看到尝试了正确的密钥但失败了:
debug1: Next authentication method: publickey
debug1: Offering public key: C:\\Users\\User/.ssh/id_rsa RSA SHA256:r4hP8m3JFxP+ZM4njv+t/r2LajUx36I6Si5yNoVLtI agent
debug3: send packet: type 50
debug2: we sent a publickey packet, wait for reply
debug3: receive packet: type 51
debug1: Authentications that can continue: publickey,keyboard-interactive