在Rocky Linux 9中,SSH隧道的核心功能由OpenSSH实现,而非直接通过NetworkManager(nmcli)。以下是标准操作流程:
-
安装OpenSSH:
sudo dnf install openssh-clients openssh-server
-
本地端口转发示例(将本地端口8888转发到远程主机192.168.1.100:80):
ssh -N -L 8888:192.168.1.100:80 user@ssh_server -p 22
-N
表示不执行远程命令,-L
定义本地转发 -
持久化配置(通过systemd): 创建服务文件
/etc/systemd/system/ssh_tunnel.service
:[Unit] Description=SSH Tunnel After=network.target [Service] ExecStart=/usr/bin/ssh -NT -L 8888:192.168.1.100:80 user@ssh_server -i /path/to/private_key Restart=always RestartSec=30 [Install] WantedBy=multi-user.target
运行
sudo systemctl enable --now ssh_tunnel
关键安全实践:
- 使用SSH密钥认证(
ssh-keygen
生成密钥) - 限制远程用户权限(通过
sshd_config
设置AllowUsers
) - 启用SSH日志监控(
/var/log/secure
) - 定期更新SSH软件包(
sudo dnf update openssh*
)
如需通过NetworkManager集成,需安装第三方插件(如networkmanager-ssh),但官方不建议生产环境使用。企业级场景建议通过Ansible等工具批量部署SSH隧道配置。