问题:在VSCODE 证书登录到Windows Server 2016的管理账号时,老是需要输入登录密码。
答:普通用户的公钥是存储在C:\USER\XXX\.SSH\authorized_keys文件中。管理员账号的公钥是存储在C:\ProgramData\ssh\administrators_authorized_keys文件中。
Windows 环境中的大多数身份验证都是使用用户名-密码对完成的,这非常适用于共享公共域的系统。 跨域工作时(例如在本地和云托管的系统之间),很容易受到暴力攻击入侵。
相比之下,Linux 环境通常使用公钥/私钥对来驱动身份验证,这不要求使用可推测的密码。 OpenSSH 提供了工具来帮助支持此用途,具体如下:
- ssh-keygen,用于生成安全的密钥
- ssh-agent 和 ssh-add,用于安全地存储私钥
- scp 和 sftp,在首次使用服务器时安全地复制公钥文件
本文档概述了如何在 Windows 上使用这些工具开始使用 SSH 进行基于密钥的身份验证。 如果你不熟悉 SSH 密钥管理,我们强烈建议你查看 NIST 文档 IR 7966,标题为“使用安全外壳 (SSH) 的交互和自动化访问管理的安全性”。
关于密钥对
密钥对指的是由特定的身份验证协议使用的公钥和私钥文件。
SSH 公钥身份验证使用不对称加密算法来生成两个密钥文件 – 一个为“私钥”文件,一个为“公钥”文件。 私钥文件等效于密码,在所有情况下都应当保护它们。 如果有人获取了你的私钥,则他们可以像你一样登录到你有权登录的任何 SSH 服务器。 公钥放置在 SSH 服务器上,并且可以共享,不会危害私钥的安全。
将密钥身份验证用于 SSH 服务器时,SSH 服务器和客户端会依据私钥来比较所提供的用户名的公钥。 如果无法依据客户端私钥验证服务器端公钥,则身份验证失败。
可以通过密钥对实现多重身份验证,方法是在生成密钥对时输入密码(参阅下面的