我正在尝试使用客户端电脑上的 putty 和服务器电脑上的 openssh 从另一台 Windows 电脑登录到 Windows 电脑。我已经可以通过输入用户名和密码连接到所述电脑。但我想使用我已经使用 puttygen 生成的密钥对登录。我该如何将公钥添加到服务器(Windows 电脑)?我应该把公钥放在哪里?
附加信息:
我设法通过使用客户端计算机的 winscp 添加公钥,将公钥安装到服务器的以下位置:c:/users/myusername/.ssh/authorized_keys。
但是当我尝试使用私钥登录时,它显示“服务器拒绝我们的密钥”。我读到过,我必须授予 .ssh 文件夹和 authorized_keys 文件的权限才能使其工作。我见过这方面的例子,但是是在 Linux 上,但是在 Windows 上如何具体做到这一点?
我尝试登录的机器中只有一个用户,如果该信息有帮助的话,该用户也是管理员。
答案1
通常你会将公钥添加到:
> C:\Users\myUserName.myDomainName\.ssh\id_rsa.pub
如果没有的话,您可以将公钥粘贴到文件中。
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBp2eUlwvehXTD3xc7jek3y41n9fO0A+1234567ZAvuqrwNcR2K7UXPVVkFmTZBes3PNnab4UkbFCki23tP6jLzJx/MufHypXprSYF3x4RFh0ZoGtRkr/J8DBKE8UiZIPUeuaaaaaaXztvP+pVXT+HfSnLdN62lXTxLUp9EBZhe3Eb/5nwFaKNpFg1r5NLIpREU2H6fIepi9z28rbEjDj71Z+GOKDXqYWacpbzyIzcYVrsFq8uqOIEh11111R9H0k4lRhKNlIANyGADCMisGWwmIiPJUIRtWkrQjUOvabcdefgcofuxKaWaF5NqwKCc5FDVzsysaL5IM9/gij8837QN7z rsa-key-20141103
(请注意,这不是我的或任何其他人的公钥或私钥,这只是一个演示密钥。)
保存文件并关闭文本编辑器。
您现在可以通过浏览“Auth”配置选项中的密钥来指定密钥的位置,如下图所示:
如果以上内容不够清楚,此链接可以作为有关如何更详细地完成整个过程的指导。
https://devops.ionos.com/tutorials/use-ssh-keys-with-putty-on-windows/
客户端使用 (ssh)
- 在客户端上生成密钥对(最好带有密码):
ssh-keygen -t rsa -f id_rsa
- 使用 ssh-agent 注册私钥(可选,用于单点登录体验)
净启动 ssh-代理
ssh-添加 id_rsa - 使用私钥登录
ssh -i .\id_rsa 用户@主机(工作组用户)
ssh -i .\id_rsa -l 用户@域主机(域用户)
设置服务器端(sshd)
- 将 id_rsa.pub(客户端的公钥)的内容附加到相应用户目录中的以下文件中(如果需要,请创建一个)。
%systemdrive%\Users\.ssh\authorized_keys
- 仔细检查authorized_keys的访问权限(只有系统,管理员和所有者才有访问权)。
icacls %systemdrive%\Users\.ssh\authorized_keys