无法使用精确的 AD 用户名通过 SSH 连接到 GCP Linux 服务器

无法使用精确的 AD 用户名通过 SSH 连接到 GCP Linux 服务器

首先,标准的东西:我在 Windows 10 公司电脑上以我的 Active Directory 用户身份登录。我使用内置的 openssh 和 PS 或 CMD。我使用 ssh-keygen 生成了我的 RSA 密钥,并手动将其添加到我的 GCP 项目中以进行 ssh 身份验证。现在,事情变得棘手了。

当我生成 RSA 时,它会将我的用户名作为“company\username”附加到我的公钥末尾。我知道这是正确的,因为当我运行“whoami”时,它显示相同的内容。当我将此 ssh 密钥添加到我的 GCP 项目时,它也会将其添加为“company\username”;但是,当我输入 ssh user@server 或 ssh company\username@server 时,Windows 会在我的用户名中添加一个额外的反斜杠“\”,导致身份验证失败:

ssh server OR
ssh 'company\username@server'Returns:
company\\username@server: Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

我尝试了许多 ssh 命令变体,包括正斜杠、反斜杠、引号,但每次 Windows 都会添加额外的斜杠。

作为一种解决方法,我从我的 ssh 密钥中删除了“company\”部分;并且我将我的 ssh 配置文件修改为以下内容:

Host *
 User username

这确实有效 - 但有点混乱;我想知道是否有办法阻止 Windows 插入额外的反斜杠。谢谢

编辑**

做了一些进一步的测试,发现 Windows 上的 OpenSSH 似乎有问题。它甚至试图在密钥生成期间插入额外的反斜杠。我将直接向 Microsoft 报告此问题:

PS C:\Users\username> mkdir ~/test

Directory: C:\Users\username

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----            3/6/2020 11:02 AM                test

PS C:\Users\username> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_rsa): ~/test
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Saving key "~/test" failed: No such file or directory

C:\Users\username> ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\username/.ssh/id_rsa): ~\test
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Saving key "~\\test" failed: No such file or directory

相关内容