加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

从Windows设置Linux服务器的公钥认证(ppk私钥)

发布时间:2020-12-13 23:16:27 所属栏目:Windows 来源:网络整理
导读:我使用PuTTYgen创建了一个公钥和私钥,并将公钥复制到我的用户帐户下的.ssh / authorized_keys. 然后我尝试在尝试登录时指定私钥,但显然它不会提取它并继续询问我原来拥有的用户名/密码.我正在使用WinSCP连接并在高级/身份验证部分指定私钥.我错过了WinSCP中
我使用PuTTYgen创建了一个公钥和私钥,并将公钥复制到我的用户帐户下的.ssh / authorized_keys.

然后我尝试在尝试登录时指定私钥,但显然它不会提取它并继续询问我原来拥有的用户名/密码.我正在使用WinSCP连接并在高级/身份验证部分指定私钥.我错过了WinSCP中的任何步骤吗?

authorized_keys的内容如下所示

ssh-rsa AAAAB3NzaC1yc2EAAAABpEVSiiRXi7tOHpkOyFa9w2OLpBep31k9lePCK7RQxsdfs9u11+rdu0XCidRKOY5j4anD1eDaNBj87wqZbsreRe5cFcsakyGUAYXAvqgGApvsep31k9lePCK7RQxlOY5j4anD1eDaNBj8LJO++K3SkUN8E0srRBO8YyMT6Y03/F7+AAAAB3NzaC1yc2Q4h2RLGtr12CDKSBVAnFEc+JucuF4uF0WY4Sh66MSFI63mCQFu9iYNYwWyT6lUo6sks4WypEVSiiRXi7tOHpkOyFa9w2OLpBzAlTA/VSQwdNTFYUI1vquaufZ9ORzTa6dkbBRo/mLVdevYSRMSDw1BUcinYz/ogdxRvw==

我将.ssh的权限更改为700,将authorized_keys的权限更改为600.

虽然我进入WinSCP中的身份验证部分并指定私钥(如屏幕截图所示),但它看起来仍然需要用户名和密码,并且不会提取它.

当我使用PuTTY并指定私钥时,输入登录用户名后就会显示

Server refused our key

这是PuTTY的日志

2018-04-28 17:43:05 Connecting to 158.85.98.202 port 22
2018-04-28 17:43:05 We claim version: SSH-2.0-PuTTY_Release_0.70
2018-04-28 17:43:05 Server version: SSH-2.0-OpenSSH_7.4
2018-04-28 17:43:05 Using SSH protocol version 2
2018-04-28 17:43:05 Doing ECDH key exchange with curve Curve25519 and hash  SHA-256
2018-04-28 17:43:05 Server also has ecdsa-sha2-nistp256 host key,but we don't know it
2018-04-28 17:43:05 Host key fingerprint is:
2018-04-28 17:43:05 ssh-ed25519 256         6b:0d:e2:f6:c5:9e:15:84:0c:1b:2c:19:62:cd:5b:ef
2018-04-28 17:43:05 Initialised AES-256 SDCTR client->server encryption
2018-04-28 17:43:05 Initialised HMAC-SHA-256 client->server MAC algorithm
2018-04-28 17:43:05 Initialised AES-256 SDCTR server->client encryption
2018-04-28 17:43:05 Initialised HMAC-SHA-256 server->client MAC algorithm
2018-04-28 17:43:05 Reading key file "C:UsersDesktopprivate_key.ppk"
2018-04-28 17:43:09 Offered public key
2018-04-28 17:43:09 Server refused our key
2018-04-28 17:43:09 Using SSPI from SECUR32.DLL
2018-04-28 17:43:09 Attempting GSSAPI authentication
2018-04-28 17:43:09 GSSAPI authentication request refused
为了避免在设置公钥认证时常见的陷阱,请使用 ssh-copy-id command/script.因为在Windows上运行它会遇到麻烦,您可以在服务器上运行它.

>在PuTTYgen中,加载您的私钥(.ppk);
>将用于粘贴的公钥框的内容复制到OpenSSH authorized_keys文件中到剪贴板.
>将其粘贴到您喜欢的编辑器中(Windows Notepad会这样做).
>将内容保存到扩展名为.pub的文件.
>将.pub文件上传到服务器.
>使用SSH客户端登录服务器,例如PuTTY.
>在服务器类型上:

ssh-copy-id -i mykey.pub username@localhost

在Windows上,ssh-copy-id脚本随Git for Windows一起提供.所以你可以在本地使用它,如果你有的话.

WinSCP 5.14 beta也可以为您设置公钥认证.
使用工具>在SSH > Authentication page of WinSCP Advanced Site Settings dialog上将公钥安装到服务器按钮.

(我是WinSCP的作者)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读