如何使用提供的 SSH 密钥连接到 SFTP?

如何使用提供的 SSH 密钥连接到 SFTP?

我被重定向到这个 StackExchange,这是我第一次来这里。我对 SSH 密钥的了解始于我设置将代码推送到 GitHub 的功能。

我需要通过 Cyber​​duck 访问 FTP 服务器。我在 SFTP 中,需要“选择...”SSH 私钥。我有发给我的私钥文本。所以我可以将其复制并粘贴到文件中吗?我不确定如何继续,我找到的每个资源都是生成密钥而不是保存要上传的文件。

感谢您的指导和资源。

答案1

您可以将发送给您的文本保存为文件,并使用 Cyber​​duck 上的内置“选择...”功能。我使用的是 Windows 计算机,因此我使用了记事本应用程序。我认为 Mac 上的 TextEdit 会有类似的结果。步骤如下:

  1. 打开记事本
  2. 粘贴为你的 SSH 密钥提供的文本
  3. 保存文件(我将文件命名为key.txt
  4. 打开 Cyber​​duck
  5. 选择打开连接
  6. 选择SFTP(SSH 文件传输协议)对于连接类型
  7. 输入服务器,端口(22),用户名
  8. 你可以跳过密码 - 它将使用 SSH 密钥
  9. 对于 SSH 私钥,选择选择...并找到文件的保存位置
  10. 点击连接
  11. 出现未知指纹提示,点击允许(如果这是您信任且经常使用的连接,您可以选择“始终”)
  12. 您应该会看到您的文件和/或您指定的文件夹位置!

答案2

如果你使用 sftp 客户端连接到 sftp 服务器,则应生成 ssh 密钥对(即在 unix 上:ssh-keygen)并提供你的民众密钥(即.ssh/id_rsa.pub.ssh/id_ed25519.pub)到 sftp-server-admin。

如果您的 ssh 私钥在默认目录中,软件可能会自动找到它。

如果你使用 openssh (sftp 是其中的一部分),你可以使用

sftp -i <privateKey> [email protected]

连接到 sftp 服务器,一旦 sftp-server-admin 将您的 ssh民众密钥到正确的位置(取决于设置和所使用的 ssh 服务器)。

答案3

除了 nikiwaibel 的回答外,一些 sftp 版本不接受“-i”,因此您可以使用替代方案

sftp -oIdentityFile=<privateKey.file> [email protected]

相关内容