这一篇咱们聚焦两个硬核实操场景:如何用 SSH 密钥彻底告别密码登录的风险,以及如何通过跳板机(堡垒机)安全访问深藏内网的服务器。这两个技能,是区分“会用”和“用好”的分水岭。
为什么密钥认证比输密码安全得多?
很多运维事故的发生,源头就是密码泄露——无论是被暴力破解、撞库,还是不小心把密码传到了公开仓库。SSH 密钥认证的核心思路很简单:你不需要把任何“密码”通过网络传出去,只需要用一把“私钥”来证明你的身份。
这个机制的原理是:在客户端生成一对密钥——公钥(可以公开,放在服务器上)和私钥(必须保密,只留在自己的电脑里)。连接时,服务器用公钥发一个“挑战”,客户端用私钥签名响应,匹配上了就放行。整个过程中,没有任何密码在网络上传输,从根本上杜绝了密码泄露的风险。
第一步:生成密钥对
有两种方式可以在 FinalShell 中完成密钥登录的配置,推荐在服务器上直接生成。
用 FinalShell 先用密码登录上服务器,在终端执行以下命令:
# 进入 .ssh 目录 cd ~/.ssh # 生成 RSA 密钥对(-m PEM 确保兼容 FinalShell) ssh-keygen -m PEM -t rsa -b 4096 -C "finalshell-key"
执行后会提示你设置私钥密码(可以留空直接回车,日常使用更省事;如果设了密码,每次连接时需要额外输入一次私钥密码)。完成后会在 ~/.ssh 目录下生成两个文件:
-
id_rsa:私钥文件(绝不能泄露) -
id_rsa.pub:公钥文件(要放到服务器上)
第二步:把公钥写入服务器的授权列表
继续在服务器上执行:
# 将公钥追加到 authorized_keys 文件中(注意是 >>,不要用 > 覆盖) cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys # 设置正确的权限(权限过松会被 sshd 拒绝) chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ~/.ssh/id_rsa chmod 644 ~/.ssh/id_rsa.pub
权限这里有两个关键点:~/.ssh 目录权限必须是 700(仅所有者可读写执行),authorized_keys 和私钥文件权限必须是 600(仅所有者可读写)。权限设错了,SSH 服务会直接拒绝密钥认证。
第三步:把私钥下载到本地并配置 FinalShell
生成并配置好公钥后,需要把私钥文件从服务器下载到你的本地电脑。推荐用 FinalShell 自带的文件管理功能:在连接的 SFTP 面板里,进入 /root/.ssh/(或对应用户的 ~/.ssh/),找到 id_rsa 文件,右键下载到本地,比如保存在 C:\Users\你的用户名\.ssh\ 目录下。
然后在 FinalShell 中新建或编辑连接:
-
在“方法”一栏,选择“公钥”(而不是“密码”)。
-
点击“浏览”,找到并导入你刚才下载到本地的私钥文件(
.pem或id_rsa格式)。 -
保存配置,双击连接。如果一切正常,应该直接进入终端,不再需要输密码。
绝对安全底线:私钥文件一旦泄露,和密码泄露是一样的后果。一定要妥善保管,不要上传到任何公开代码仓库。
场景四:通过跳板机访问内网服务器
在真实的企业环境中,核心服务器往往不直接暴露在公网上,你需要先登录一台“跳板机”(也称堡垒机),再通过它访问内网的目标服务器。
FinalShell 配置跳板机连接非常简单,核心就是在连接目标服务器的设置里,指定跳板机信息。具体操作有两种方式:
方式一:在连接设置中指定跳板机
-
先配置好跳板机的连接:按照正常流程,新建一个 SSH 连接,填好跳板机的公网 IP、端口、用户名和认证方式(推荐用密钥),并确保能连成功。
-
配置目标服务器的连接:再新建一个 SSH 连接,填好目标服务器的内网 IP 和用户名。
-
指定跳板机:在目标服务器的连接设置中,找到“高级”或“代理”选项,将“跳板机”或“代理服务器”设置为刚才配置好的跳板机连接。
保存后,双击目标服务器的连接,FinalShell 会自动先连跳板机,再通过跳板机连到内网目标服务器,整个过程对用户来说是一步到位的。
方式二:通过隧道转发
如果需要访问的是内网某个特定端口(比如内网 MySQL 的 3306),也可以通过配置 SSH 隧道来实现:
-
连接上跳板机。
-
在跳板机连接的“隧道”选项卡中,添加一条“本地”类型隧道:
-
监听端口:本地一个空闲端口(比如 3307)
-
目标地址:内网目标服务器的 IP
-
目标端口:内网服务的端口(比如 3306)
-
-
保存并重连跳板机,隧道就建立了。
-
在本地电脑上连接
127.0.0.1:3307,就相当于直接连接内网目标服务器的 3306 端口。
最后提一个“新手杀手”
千万别把自己锁在门外! 这是配置密钥和跳板机时最容易被忽视的风险。任何时候修改认证配置(比如关闭密码登录、修改 SSH 端口),一定要先保留一条已经成功登录的会话窗口,然后用新配置新建一个连接来验证,确认能连上之后,再关掉旧会话。

评论(0)