工具使用

FinalShell 用密钥登录服务器和 SFTP 传文件,手把手教你搞定!

2026-09-30 · FinalShell

FinalShell 用密钥登录服务器和 SFTP 传文件,手把手教你搞定! 配图

第一次用 FinalShell 连接服务器,除了常规的账号密码,你可能听说过更安全、更便捷的密钥登录方式,而且还得经常上传下载文件。别担心,今天就手把手带你搞定 FinalShell 的密钥登录和 SFTP 文件传输,让你成为服务器管理小能手。

FinalShell 密钥登录,告别密码烦恼

传统的密码登录虽然方便,但安全性总是差点意思,容易被暴力破解。而 SSH 密钥登录就高级多了,它利用一对非对称密钥(公钥和私钥)来验证身份,私钥保存在本地,公钥放在服务器上,安全系数大大提升。接下来,我们以 FinalShell 4.7.1 版本为例,看看如何在 Windows 客户端上配置密钥登录。

1. 准备你的 SSH 密钥对

如果你已经有了一对 SSH 密钥,比如之前用 PuTTYgen 生成的 id_rsa 和 id_rsa.pub 文件,那就直接跳到下一步。如果没有,你可以通过 FinalShell 内置的工具或者 ssh-keygen 命令来生成。

  • 在 FinalShell 中生成: 打开 FinalShell,点击顶部菜单栏的 工具 -> 生成密钥。在弹出的窗口中选择密钥类型(推荐 RSA),设置密钥长度,然后点击 生成。生成成功后,记得保存好私钥文件(通常是 .ppk 或不带后缀的私钥文件,例如 my_key)和公钥文件(.pub)。
  • 上传公钥到服务器: 将生成的公钥(例如 my_key.pub)内容复制到你的服务器上。通常是将公钥内容添加到服务器用户目录下的 ~/.ssh/authorized_keys 文件中。如果 ~/.ssh 目录不存在,需要先创建,并设置好正确的权限(chmod 700 ~/.ssh 和 chmod 600 ~/.ssh/authorized_keys)。

2. 在 FinalShell 中配置密钥登录

有了密钥对,下一步就是告诉 FinalShell 如何使用它来登录。

  • 新建或编辑会话: 在 FinalShell 左侧的会话树中,右键点击 新建会话,选择 SSH。或者,如果你已有会话,可以选中它后右键点击 编辑会话。
  • 填写连接信息: 在弹出的连接窗口中,主机 填写你的服务器 IP 地址或域名,端口 通常是 22。用户名 填写你在服务器上的用户名(比如 root 或 ubuntu)。
  • 选择认证方式: 关键来了!在 认证方式 下拉菜单中,选择 公钥。然后点击 私钥文件 旁边的文件夹图标,找到你之前保存的私钥文件(例如 my_key 或 my_key.ppk)。
  • 保存会话: 检查无误后,点击连接弹窗右下角的 确定 按钮,保存你的会话设置。

3. 测试连接并登录

配置完成后,是时候验证一下了。在左侧会话树中,双击你刚刚配置好的会话。如果一切顺利,你会看到熟悉的终端界面,说明你已经通过密钥成功登录到服务器了。是不是比输入密码方便多了?关于更详细的 Windows 客户端安装,你可以参考这篇FinalShell Windows 客户端安装教程。

用 FinalShell 轻松管理 SFTP 文件

登录服务器后,经常需要上传本地文件到服务器,或者把服务器上的日志、备份文件下载到本地。FinalShell 内置的 SFTP 功能可以让你像使用本地文件管理器一样方便地操作远程文件。

1. 切换到 SFTP 界面

当你成功连接到服务器后,FinalShell 的界面下方通常会自动显示一个文件管理区域,它就是 SFTP 界面。左侧显示的是你的本地文件系统,右侧则是服务器上的文件系统。如果你没有看到,可以点击顶部工具栏上的 文件 图标(通常是一个文件夹形状的按钮),它会帮你切换到 SFTP 文件管理模式。我在使用时,发现这个界面对文件路径的显示很直观。

2. 上传与下载文件

  • 上传文件: 从本地文件列表(左侧)选择你要上传的文件或文件夹,直接拖拽到服务器文件列表(右侧)的相应目录即可。你也可以右键点击本地文件,选择 上传,然后在右侧选择目标路径。
  • 下载文件: 从服务器文件列表(右侧)选择你要下载的文件或文件夹,直接拖拽到本地文件列表(左侧)的相应目录。同样,也可以右键点击服务器文件,选择 下载,然后在左侧选择保存路径。

3. 进行文件管理操作

除了上传下载,SFTP 界面还支持常用的文件管理操作:

  • 新建目录: 在服务器文件列表空白处右键,选择 新建文件夹。
  • 删除文件/文件夹: 选中文件或文件夹,右键选择 删除。
  • 重命名: 选中文件或文件夹,右键选择 重命名。
  • 查看文件内容: 双击文本文件可以直接在 FinalShell 内置的编辑器中打开查看。对于复杂的 SSH 密钥配置,可以看看这篇FinalShell SSH 密钥配置的详细说明。

服务器文件管理

常见问题

1. 密钥文件报错“格式不正确”怎么办?

问题描述: 在 FinalShell 中加载私钥文件时,提示“私钥文件格式不正确”。

解决办法: FinalShell 对私钥文件格式有一定要求,通常是 OpenSSH 格式。如果你使用的是 PuTTYgen 生成的 .ppk 文件,FinalShell 可能直接支持,但如果私钥是通过 ssh-keygen 生成且未转换格式,可能会出现此问题。你可以尝试在生成密钥时选择 PEM 格式,或者使用 ssh-keygen -p -m PEM -f your_key_file 命令将其转换为 PEM 格式。另外,确保你的私钥文件没有设置密码,或者在 FinalShell 配置时输入了正确的密码。如果 SFTP 传输遇到问题,可以参考FinalShell SFTP 文件传输指南。

2. SFTP 连接不上或者看不到文件?

问题描述: FinalShell 可以通过 SSH 终端连接上服务器,但是切换到 SFTP 界面后,要么无法连接,要么右侧服务器文件列表是空的或者提示权限不足。

解决办法:

  1. 检查服务器 SSH 配置: 确保服务器的 sshd_config 文件中开启了 SFTP 子系统支持(通常默认开启,如 Subsystem sftp /usr/lib/openssh/sftp-server)。
  2. 检查用户权限: 你登录的用户是否对目标目录有读取和执行权限?如果没有,尝试切换到 root 用户或者为当前用户添加相应权限。
  3. 检查防火墙和安全组: 服务器的防火墙(如 ufw、firewalld)或云服务商的安全组是否允许 SSH 端口(默认 22)的访问?SFTP 传输依赖于 SSH 隧道,SSH 端口不通,SFTP 也无法工作。如果需要配置端口转发,可以查看FinalShell 端口转发指南。

3. 连接总显示“超时”是怎么回事?

问题描述: 无论是 SSH 登录还是 SFTP 连接,都长时间显示“连接超时”,无法建立连接。

解决办法:

  1. 检查网络连通性: 首先确认你的本地网络是否正常,能否访问外部网络。然后尝试 ping 服务器的 IP 地址,看是否能通。
  2. 检查服务器状态和 IP: 确认服务器是否正常运行,IP 地址是否输入正确。服务器是否开启了 SSH 服务?
  3. 检查防火墙和安全组: 再次强调,这是最常见的问题之一。确保服务器的防火墙或云服务商的安全组规则允许你的本地 IP 地址访问服务器的 SSH 端口。有些服务器会限制特定 IP 访问。
  4. 端口是否正确: 确认 FinalShell 中填写的端口号与服务器 SSH 服务的端口号一致。如果服务器 SSH 端口不是默认的 22,你需要相应修改。

延伸阅读

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