如何让 WinSCP 使用我指定的私钥连接到 SSH 服务器?

如何让 WinSCP 使用我指定的私钥连接到 SSH 服务器?

如何让 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 非常相似:屏幕截图1

PuTTY 要求密钥为.ppk[Putty 私钥]

  • 如何转变使用 PuTTYgen将 RSA 密钥(如 OpenSSH 使用的)转换为.ppk
    1. 文件加载私钥→ 改为显示所有文件
    2. 选择id_rsa加载RSA密钥→文件保存私钥
  • 在PuTTY中:
    1. 联系SSH授权用于身份验证的私钥文件→ 选择.ppk
    2. PuTTY 要求您指定用户名,该用户名与 OpenSSH 的用户名相同 [在 cygwin 中执行时使用的 SSH ssh user@ip]
    3. 现在把PuTTY放在一边,因为它有助于了解如何连接PuTTY

在 WinSCP 登录屏幕上,转到新网站
截屏

  1. 文件协议SCP[通过 SSH 传输文件]
  2. 先进的SSH验证加载私钥→ 选择.ppk上面创建的
    截图2
    PuTTYgen 用于将 RSA 密钥转换为.ppk,具体操作与我上面描述的方法相同

相关内容