服务器运维
FinalShell 配置 SSH 密钥登录 Linux,我常用的这几个步骤
FinalShell 与我:告别密码登录的那些事
作为一名兼职的技术博主,同时也是需要频繁管理好几台 Linux 服务器的“站长”,一个稳定、好用的 SSH 客户端是我的左膀右臂。市面上的工具很多,但我最终还是选择了 FinalShell。它不光有 SSH 终端,还集成了 SFTP、性能监控等功能,对于日常运维来说简直是神器。
我自己用 FinalShell 已经好几年了,最近在我的 Windows 11 机器上,一直使用的版本是 FinalShell 4.6.4。今天我想跟大家分享一下,我是怎么用它来配置 SSH 密钥登录 Linux 服务器的。密钥登录比传统的密码登录安全高效多了,强烈推荐。

我用 FinalShell 的感受(一点小评测)
用 FinalShell 这么久,我对它的体验总结了几个点。如果你还在犹豫要不要用它,或者想了解它的实际表现,可以参考一下我的看法。
易用性:7.5/10
FinalShell 的界面设计对我来说还是挺直观的,各种功能区块布局合理,像多标签页、命令历史这些小细节都做得不错。但是,对于新手来说,一些高级功能比如密钥配置的入口可能需要稍微找一下,不像某些极简客户端那样一览无余。总的来说,学习曲线不陡峭,上手很快。
稳定性:9/10
我可以说,FinalShell 在我的日常使用中,稳定性表现非常出色。无论是连接境外服务器还是国内服务器,长时间挂着终端也很少出现断开或者卡顿的情况。我几乎没遇到过 FinalShell 本身崩溃的问题,这在运维工作中省去了不少麻烦,不用担心关键时刻掉链子。
文件传输(SFTP):8.5/10
FinalShell 内置的 SFTP 功能是我特别喜欢的一点。它支持直接拖拽文件上传下载,操作非常方便。速度上,只要服务器网络带宽足够,传输大文件也能保持一个不错的速度。另外,文件管理界面也很清晰,可以直接进行新建文件夹、修改权限等操作,基本能满足日常的文件操作需求。
这里给大家整理一个我个人打分的小表格:
| 维度 | 分数(满分 10) | 个人感受 |
|---|---|---|
| 易用性 | 7.5/10 | 界面直观,功能强大,但某些高级配置入口需探索。 |
| 稳定性 | 9/10 | 连接稳定,长时间运行无压力,很少出现崩溃或断连。 |
| 文件传输 | 8.5/10 | 集成 SFTP 方便快捷,支持拖拽,满足日常文件操作。 |
总的来说,FinalShell 是一个功能全面且稳定可靠的工具,特别适合需要频繁进行服务器运维的朋友。如果你想了解更多关于它的安装方法,可以看看这篇教程:/blog/finalshell-windows-install-guide/。
用 FinalShell 设置 SSH 密钥登录的详细步骤
现在,我们进入正题,讲讲如何在 FinalShell 里配置 SSH 密钥登录。
步骤一:生成 SSH 密钥对
首先,你需要一对密钥:公钥(public key)和私钥(private key)。公钥放在你的服务器上,私钥留在你的本地电脑,FinalShell 会使用这个私钥去连接服务器。FinalShell 内置了生成密钥的功能,非常方便。
- 打开密钥管理界面:在 FinalShell 的主界面,点击菜单栏的
工具(T)->SSH密钥。 - 生成新的密钥:在弹出的
SSH密钥管理窗口中,点击生成按钮。你可以选择密钥类型(推荐 RSA 或 ED25519)和位数。为私钥设置一个密码(passphrase)可以增加安全性,每次使用时都需要输入,但会牺牲一点便利性。我自己通常会设置,毕竟安全第一。生成后,记得保存私钥到你电脑的一个安全位置,比如C:\Users\你的用户名\.ssh\id_rsa。
步骤二:将公钥上传到你的 Linux 服务器
密钥对生成后,需要把公钥放到你想连接的 Linux 服务器上。这个公钥通常放在服务器用户的 ~/.ssh/authorized_keys 文件里。确保这个文件和 ~/.ssh 目录的权限设置正确,否则密钥登录会失败。
- 复制公钥内容:回到 FinalShell 的
SSH密钥管理窗口,选中你刚刚生成的密钥,点击复制公钥。这会将公钥的文本内容复制到剪贴板。 - 登录服务器并添加公钥:
- 通过密码方式登录你的 Linux 服务器(如果你之前是密码登录的话)。
- 在服务器上,进入你的用户主目录,然后创建
.ssh目录(如果不存在):mkdir -p ~/.ssh - 设置
.ssh目录的权限:chmod 700 ~/.ssh - 创建或编辑
authorized_keys文件,并将剪贴板中的公钥内容粘贴进去:vi ~/.ssh/authorized_keys。如果你已经有其他公钥,直接在文件末尾新起一行粘贴即可。注意不要有空行或者多余的字符。 - 设置
authorized_keys文件的权限:chmod 600 ~/.ssh/authorized_keys
确保所有这些步骤都正确执行,尤其是权限设置,这是很多人初次配置时容易犯错的地方。如果你对 SFTP 传输文件还不熟悉,可以参考这篇指南:/blog/finalshell-sftp-file-transfer/,虽然这里是复制粘贴,但了解文件传输也很重要。
步骤三:在 FinalShell 中配置会话使用密钥登录
公钥已经部署到服务器上了,现在就差最后一步:告诉 FinalShell 你的私钥在哪里,让它用私钥去连接服务器。
- 创建或编辑会话:在 FinalShell 主界面,点击左上角的
连接按钮,选择新建 SSH 连接,或者编辑你现有的服务器连接。 - 配置认证方式:在
新建/编辑 SSH 连接窗口中,找到认证选项卡。认证方式选择公钥。- 在
私钥文件字段,点击右侧的文件夹图标,选择你之前保存的私钥文件(比如id_rsa)。 - 如果你的私钥设置了密码(passphrase),则在
私钥密码字段输入。
- 保存并连接:确认其他连接信息(如 IP 地址、用户名、端口)无误后,点击
确定保存会话。然后双击列表中的会话名称,尝试连接。如果一切顺利,FinalShell 就会使用你的私钥成功登录服务器了,不再需要输入密码。
如果你在配置端口转发方面有需求,FinalShell 同样支持,可以参考这篇教程:/blog/finalshell-port-forwarding-guide/,和 SSH 密钥配置一样,都是提升服务器管理效率的关键点。
常见问题
尽管 SSH 密钥登录非常方便,但在配置过程中还是会遇到一些小麻烦。这里列举几个我常遇到的问题和解决方法。
1. 登录失败,提示 Permission denied (publickey)
这通常是由于服务器上 .ssh 目录或 authorized_keys 文件的权限设置不正确导致的。确保 ~/.ssh 目录权限是 700(即只有所有者有读、写、执行权限),~/.ssh/authorized_keys 文件权限是 600(即只有所有者有读、写权限)。如果不是,请用 chmod 命令修改。
2. 无法连接,提示 Authentication failed
除了权限问题,这还可能是私钥密码输入错误,或者 FinalShell 中选择的私钥文件不正确。请仔细检查你选择的私钥路径和输入的私钥密码是否匹配。另外,确保你的公钥确实已经上传到服务器并且内容完整无误。
3. 连接正常,但仍然要求输入密码
这说明服务器接受了密码认证,但密钥认证失败了。检查一下服务器的 SSH 配置文件 /etc/ssh/sshd_config,确保 PubkeyAuthentication yes 这一行是开启的,并且没有被注释掉。修改后记得重启 SSH 服务:sudo systemctl restart sshd 或 sudo service sshd restart。
4. FinalShell 提示 Key type is not supported
这通常发生在使用了 FinalShell 不支持的密钥类型或格式时。虽然 FinalShell 支持 RSA 和 ED25519 等主流类型,但如果密钥是其他工具生成且格式比较特殊,可能会出现这个问题。尝试在 FinalShell 内部重新生成密钥,或者将现有密钥转换为 FinalShell 支持的格式。通常情况下,使用 FinalShell 内置的密钥生成工具是最省心的办法。
希望这篇文章能帮助你顺利地在 FinalShell 中配置 SSH 密钥登录,让你的服务器管理工作更加安全和高效!
延伸阅读
若需进一步查阅,可先看本站以下教程: