如何让 WinSCP 使用我指定的私钥连接到 SSH 服务器。
我没有看到该选项。
例如,我有一个在 cygwin 中使用 SSH 创建的私钥。(id_rsa)
$ ls ~/.ssh -l -rw------- 1 user None 2602 Dec 24 17:26 id_rsa -rw-r--r-- 1 user None 570 Dec 24 17:28 id_rsa.pub -rw-r--r-- 1 user None 4562 Apr 27 08:03 known_hosts $ cat .ssh/id_rsa -----BEGIN OPENSSH PRIVATE KEY----- b3Blb...........wcm9ib29rMQECAw== -----END OPENSSH PRIVATE KEY-----
并且我已经将公钥(id_rsa.pub)添加到
authorized_keys
服务器上。
答案1
在 WinSCP 登录对话框中,单击先进的按钮,转到SSH > 身份验证,并且在私钥文件框中,浏览您的私钥文件:
也可以看看https://winscp.net/eng/docs/ui_login_authentication
如果您没有 PuTTY.ppk
格式的密钥,则需要将文件过滤器更改为所有私钥文件;一旦您选择了 SSH 密钥,WinSCP 将为您提供密钥转换服务,并以.ppk
格式保存密钥的副本。
答案2
(马丁的回答比这个答案更快)
最简单的方法是确保您可以先在 PuTTY 中连接,因为它与 WinSCP 非常相似:
PuTTY 要求密钥为.ppk
[Putty 私钥]
- 如何转变使用 PuTTYgen将 RSA 密钥(如 OpenSSH 使用的)转换为
.ppk
:- 文件→加载私钥→ 改为显示所有文件
- 选择
id_rsa
加载RSA密钥→文件→保存私钥
- 在PuTTY中:
- 联系→SSH→授权→用于身份验证的私钥文件→ 选择
.ppk
- PuTTY 要求您指定用户名,该用户名与 OpenSSH 的用户名相同 [在 cygwin 中执行时使用的 SSH
ssh user@ip
] - 现在把PuTTY放在一边,因为它有助于了解如何连接PuTTY
- 联系→SSH→授权→用于身份验证的私钥文件→ 选择