SSH工具

FinalShell 在 Windows 上用密钥登录,SFTP 传文件超方便

2026-08-07 · FinalShell

FinalShell 在 Windows 上用密钥登录,SFTP 传文件超方便 配图

日常工作中,我们经常需要连接远程服务器进行文件操作或执行命令。如果你还在每次登录都手动输入密码,那可真是效率杀手,而且安全性也不够好。今天我就来手把手教你,如何在 Windows 上利用 FinalShell 这款趁手的工具,通过 SSH 密钥实现安全便捷的登录,并用它的 SFTP 功能轻松传输文件。咱们就以 FinalShell v4.6.13 版本为例,一步步搞定它。

FinalShell 密钥和 SFTP 操作示意图

第一步:生成或导入 SSH 密钥对

密钥登录比密码登录更安全、更方便。如果你想了解更多 SSH 密钥配置的细节,可以参考。FinalShell 内置了密钥管理功能,非常实用。

  1. 打开密钥管理器: 首先,打开 FinalShell 客户端。在主界面的顶部菜单栏,找到“工具”选项,点击下拉菜单中的“SSH密钥管理”。会弹出一个新的窗口,这就是你的密钥存放地。

  2. 新建密钥对: 在“SSH密钥管理”窗口中,你会看到一个按钮叫“新建密钥”。点击它,会弹出一个“新建SSH密钥对”的对话框。

    • “算法”通常选择 ED25519 或 RSA,推荐 ED25519。
    • “密码”这一项,你可以选择为空,但为安全起见,我个人建议设置一个强密码。
    • “名称”随便填一个你容易记住的。 确认无误后,点击“生成”按钮。稍等片刻,密钥对就生成好了。你会发现左侧的密钥列表中多出了你刚刚创建的密钥对,其中包含一个私钥和一个公钥。公钥是我们需要上传到服务器上的。

第二步:将公钥上传到服务器并配置

生成了密钥对,下一步就是把公钥放到你的服务器上,让服务器认识这个公钥。

  1. 复制公钥内容: 在“SSH密钥管理”窗口中,选中你刚刚生成的密钥对。右侧会显示该密钥对的详细信息。找到“公钥”标签页,点击“复制公钥内容”按钮。公钥的文本内容就复制到剪贴板了。

  2. 登录服务器并创建文件: 如果你是第一次使用密钥登录,需要先用密码登录一次服务器。你可以通过 FinalShell 创建一个临时的密码登录会话。 登录后,在服务器的家目录下,创建一个名为 .ssh 的隐藏文件夹(如果已存在则跳过):

mkdir -p ~/.ssh 然后,编辑 `~/.ssh/authorized_keys` 文件。如果文件不存在,它会被创建;如果存在,就在末尾追加你的公钥。 bash vim ~/.ssh/authorized_keys # 或者用 echo 追加: # echo "你的公钥内容" >> ~/.ssh/authorized_keys ``` 粘贴你刚刚复制的公钥内容,保存并退出文件。记住,authorized_keys 文件中每行是一个公钥。

  1. 设置文件权限: 这一步非常关键,权限不对会导致密钥登录失败。服务器对 ~/.ssh 目录和 ~/.ssh/authorized_keys 文件的权限要求非常严格。

chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ``` 这样就确保了只有所有者才能读写这两个文件,增加了安全性。

第三步:在 FinalShell 中配置会话使用密钥登录和 SFTP 传输

服务器端配置好了,现在回到 FinalShell 客户端,设置你的连接会话,并了解 SFTP。

  1. 新建或编辑会话: 在 FinalShell 主界面,点击左上角的“连接”按钮(或左侧会话树中右键选择“新建会话”)。如果已经有会话,可以右键点击会话名称,选择“修改”。 在弹出的“新建/修改SSH会话”对话框中,填写服务器的 IP 地址、端口(通常是 22)、用户名。

  2. 选择认证方式为公钥: 找到“认证方式”选项,将其从“密码”改为“公钥”。 然后点击“选择密钥”按钮,在弹出的列表中找到你第一步中创建的密钥对名称,选中它。 如果你的私钥设置了密码,FinalShell 在连接时会提示你输入密钥密码。

  3. 连接测试与 SFTP 操作: 配置完成后,点击“确定”保存会话。然后双击左侧会话树中的这个会话,或者右键选择“连接”。如果一切顺利,你应该就能不输入密码(或只输入一次密钥密码)直接登录到你的服务器了!我测试时发现,当服务器端配置正确后,连接速度明显比密码登录要快一些。 当你成功连接到服务器后,FinalShell 界面下方或右侧会显示一个文件管理区域,这就是 SFTP 客户端。你可以直接从本地电脑拖拽文件或文件夹到 SFTP 界面中的服务器路径下进行上传,或者选中服务器文件拖拽到本地进行下载。对于一些需要频繁操作服务器文件的用户来说,FinalShell 的 SFTP 功能简直是福音,省去了命令行操作的繁琐。

常见问题

在使用 FinalShell 和 SSH 密钥登录的过程中,可能会遇到一些小麻烦,这里列出几个常见的问题和解决办法。

问题一:密钥登录失败,提示权限问题

描述: 尝试用密钥登录时,FinalShell 弹出错误,提示认证失败或权限不足。

解决办法: 这几乎是密钥登录最常见的问题。请回到服务器端,仔细检查以下两处文件或目录的权限:

  • ~/.ssh 目录的权限: 必须是 700。你可以使用 ls -ld ~/.ssh 查看,如果不是,执行 chmod 700 ~/.ssh。
  • ~/.ssh/authorized_keys 文件的权限: 必须是 600。使用 ls -l ~/.ssh/authorized_keys 查看,如果不是,执行 chmod 600 ~/.ssh/authorized_keys。 SSH 服务为了安全,对这些文件的权限要求非常严格,任何多余的写权限都可能导致拒绝。

问题二:公钥复制粘贴时出错,导致无法登录

描述: 确认了密钥生成和文件权限都没问题,但还是无法登录。

解决办法: 这可能是因为在复制公钥内容时,不小心复制了多余的空格、换行符,或者遗漏了字符。

  • 重新复制: 回到 FinalShell 的“SSH密钥管理”界面,再次点击“复制公钥内容”按钮。
  • 仔细粘贴: 在服务器的 ~/.ssh/authorized_keys 文件中,确保每行公钥内容是完整的,没有多余的空格或字符。建议使用 cat ~/.ssh/authorized_keys 命令查看文件内容,比对一下。一个有效的公钥通常以 ssh-rsa 或 ssh-ed25519 开头,以用户名或主机名结尾。

希望这篇实操教程能帮助你更高效、更安全地使用 FinalShell 管理你的服务器。如果你还没安装 FinalShell,可以参考这篇 FinalShell Windows 安装指南。掌握了密钥登录,你的服务器运维之路会顺畅很多!

延伸阅读

若需进一步查阅,可先看本站以下教程: