我被重定向到这个 StackExchange,这是我第一次来这里。我对 SSH 密钥的了解始于我设置将代码推送到 GitHub 的功能。
我需要通过 Cyberduck 访问 FTP 服务器。我在 SFTP 中,需要“选择...”SSH 私钥。我有发给我的私钥文本。所以我可以将其复制并粘贴到文件中吗?我不确定如何继续,我找到的每个资源都是生成密钥而不是保存要上传的文件。
感谢您的指导和资源。
答案1
您可以将发送给您的文本保存为文件,并使用 Cyberduck 上的内置“选择...”功能。我使用的是 Windows 计算机,因此我使用了记事本应用程序。我认为 Mac 上的 TextEdit 会有类似的结果。步骤如下:
- 打开记事本
- 粘贴为你的 SSH 密钥提供的文本
- 保存文件(我将文件命名为
key.txt
) - 打开 Cyberduck
- 选择打开连接
- 选择SFTP(SSH 文件传输协议)对于连接类型
- 输入服务器,端口(22),用户名
- 你可以跳过密码 - 它将使用 SSH 密钥
- 对于 SSH 私钥,选择选择...并找到文件的保存位置
- 点击连接
- 出现未知指纹提示,点击允许(如果这是您信任且经常使用的连接,您可以选择“始终”)
- 您应该会看到您的文件和/或您指定的文件夹位置!
答案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]