![指定的登录会话不存在。它可能已被终止(仅从 SSH 终止)(对于登录选项卡中未指定的帐户)](https://linux22.com/image/713759/%E6%8C%87%E5%AE%9A%E7%9A%84%E7%99%BB%E5%BD%95%E4%BC%9A%E8%AF%9D%E4%B8%8D%E5%AD%98%E5%9C%A8%E3%80%82%E5%AE%83%E5%8F%AF%E8%83%BD%E5%B7%B2%E8%A2%AB%E7%BB%88%E6%AD%A2%EF%BC%88%E4%BB%85%E4%BB%8E%20SSH%20%E7%BB%88%E6%AD%A2%EF%BC%89%EF%BC%88%E5%AF%B9%E4%BA%8E%E7%99%BB%E5%BD%95%E9%80%89%E9%A1%B9%E5%8D%A1%E4%B8%AD%E6%9C%AA%E6%8C%87%E5%AE%9A%E7%9A%84%E5%B8%90%E6%88%B7%EF%BC%89.png)
一些进展: 这对 cyg_server 用户有效。这是运行 sshd 服务的用户。但这对其他用户无效。
更多进展: 这适用于启动服务的任何帐户。也就是说,如果我们在服务的“登录”选项卡中提供特定帐户的凭据。那么它适用于该帐户,依此类推。
原始问题:
cmdkey 是用于显示 Windows 凭据管理器密钥的命令。
因此,我在本地 Windows 中安装了 Cygwin sshd 服务器。启动到 Ubuntu 虚拟机并尝试通过 ssh 连接到我的 Windows。这成功了。当我在本地直接运行 cmdkey 命令时,会显示一组凭据管理器密钥。但是当我从 ssh 登录运行相同的命令时,会给出一个空的输出。
我还发现任何将密钥保存到 Windows 凭据管理器的程序都会出错A specified logon session does not exist. It may already have been terminated
。(仅通过 ssh 运行时)
尽管互联网上有一些针对此问题的指示。但我无法准确找到根本问题。
编辑:附加信息
我编写的程序最终是从 win api 调用 CredWriteW 函数。
你能帮忙吗?
披露:我在 superuser.com 上问过这个问题也一样。