FinalShell
FinalShell 在 macOS 上怎么用密钥登录?手把手教你配!
作为一名 macOS 用户,如果你也需要一个强大的 SSH 客户端来管理服务器,FinalShell 绝对值得一试。不过,不少刚上手的朋友在 Mac 上用它配置 SSH 密钥登录时,可能会遇到一些小障碍。今天,我就以 FinalShell 4.6.1 版本为例,手把手教你如何在 macOS 上丝滑地用密钥连接你的服务器。
第一步:安装 FinalShell macOS 客户端
首先,你需要从 FinalShell 官网下载适用于 macOS 的客户端。请确保下载的是最新稳定版本,我这里用的是 FinalShell 4.6.1。安装过程很简单,下载完 .dmg 文件后,双击打开,然后把 FinalShell 图标拖到“应用程序”文件夹就可以了。安装完成后,从“应用程序”里找到并启动它。

第二步:准备你的 SSH 密钥
在 macOS 上使用密钥登录,你需要一对 SSH 密钥:一个私钥(保存在本地)和一个公钥(上传到服务器)。
如果你已经有了密钥对,可以直接跳到下一步。如果没有,我们可以通过终端生成:
- 打开“终端”应用(可以通过 Spotlight 搜索
Terminal)。 - 输入命令
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"并回车。-t rsa指定密钥类型为 RSA。-b 4096指定密钥长度为 4096 位,更安全。-C "your_email@example.com"只是一个注释,方便你识别密钥。
- 系统会提示你选择保存密钥的路径,默认在
~/.ssh/id_rsa。直接回车使用默认路径即可。 - 接着会让你输入一个密码(passphrase),这是为了保护你的私钥。强烈建议设置密码,这样即使私钥泄露,没有密码也无法使用。输入两遍确认后,你的密钥就生成好了。
- 私钥文件通常是
id_rsa。 - 公钥文件是
id_rsa.pub。
- 私钥文件通常是
关键一步:你需要将 id_rsa.pub 的内容复制到你的服务器上。一般是追加到服务器用户家目录下的 ~/.ssh/authorized_keys 文件中。如果你不熟悉这部分操作,可以参考我们之前关于 SSH 密钥配置 的教程。
第三步:在 FinalShell 中配置密钥登录
现在,我们回到 FinalShell,配置新的会话来使用密钥登录:
- 打开 FinalShell 后,在左侧的会话树区域,点击顶部工具栏上的“新建会话”按钮(通常是一个绿色的加号图标),选择“SSH”。
- 在弹出的“新建 SSH 连接”窗口中:
- 名称:给你的连接起一个好记的名字,比如“我的生产服务器”。
- 主机:输入你的服务器 IP 地址或域名。
- 端口:SSH 默认端口是 22,如果你的服务器修改了,请输入实际端口。
- 用户:输入你服务器上的用户名,例如
root或ubuntu。
- 切换到“认证”选项卡。这里是配置密钥登录的关键。
- 认证方式:选择“密钥”。
- 私钥文件:点击旁边的文件夹图标,找到你第二步生成的私钥文件
id_rsa。 - 私钥密码:如果你在生成密钥时设置了密码,这里需要输入。
- 配置完成后,点击右下角的“确定”保存。
- 回到会话树,双击你刚刚创建的会话,FinalShell 就会尝试使用你的密钥连接服务器了。如果一切顺利,你就能看到终端界面,开始你的操作了!
第四步:管理你的会话和文件
FinalShell 的会话管理功能非常实用。你可以在左侧会话树中对连接进行分组、重命名、复制甚至导出。如果你有多个服务器,合理分组能大大提高效率。例如,你可以创建“开发环境”、“生产环境”等分组。
同时,FinalShell 也内置了 SFTP 文件传输功能。在连接成功后,你会看到下方有一个“文件”标签页。你可以像使用文件管理器一样,拖拽文件进行上传下载。如果你对 SFTP 功能想了解更多,可以看看我们这篇 FinalShell SFTP 文件传输指南。
我踩过一个坑,有一次在 macOS 上连接服务器,始终提示权限不足。排查了很久才发现是本地私钥文件的权限不对。在 macOS 或 Linux 系统中,私钥文件权限必须是 600(即只有所有者可读写),否则 SSH 客户端出于安全考虑会拒绝使用。你可以通过 chmod 600 ~/.ssh/id_rsa 命令来修正。
常见问题
遇到问题是常有的事,下面列举几个常见的 FinalShell 连接或使用问题及其解决办法:
1. 连接提示“Permission denied (publickey).”
- 原因:这通常意味着服务器端的
authorized_keys文件中没有你的公钥,或者公钥内容有误,或者权限设置不正确。 - 解决办法:
- 确保你的公钥(
id_rsa.pub的内容)已正确添加到服务器的~/.ssh/authorized_keys文件中。 - 检查服务器上
~/.ssh目录的权限是否为700,authorized_keys文件的权限是否为600。 - 检查本地私钥文件权限是否为
600。如果你是在 macOS 上,打开终端,执行chmod 600 ~/.ssh/id_rsa。
- 确保你的公钥(
2. 连接超时或无法连接
- 原因:网络不通、服务器未启动 SSH 服务、防火墙阻拦等。
- 解决办法:
- 首先
ping一下服务器 IP,看是否能通。 - 确认服务器上的 SSH 服务(
sshd)是否正在运行。 - 检查服务器的安全组或防火墙规则,确保 SSH 端口(默认为 22)是开放的。
- 如果使用了自定义端口,请确保 FinalShell 中配置的端口与服务器实际端口一致。
- 首先
3. SFTP 上传文件失败
- 原因:通常是服务器上的目标路径没有写入权限。
- 解决办法:
- 检查你要上传到的服务器目录,确保当前登录用户有写入权限。可以使用
ls -l命令查看目录权限,必要时用chmod命令修改,或者上传到用户家目录等有权限的路径。 - 确保文件大小没有超过服务器的磁盘配额或限制。
- 检查你要上传到的服务器目录,确保当前登录用户有写入权限。可以使用
希望这篇实操教程能帮助你在 macOS 上顺利地用 FinalShell 管理你的服务器。如果你还遇到其他问题,欢迎查阅我们博客的其他 FinalShell 相关教程。
延伸阅读
若需进一步查阅,可先看本站以下教程: