在Rocky Linux 9中,SSH隧道的建立与NetworkManager(nmcli)无直接关联,需通过SSH命令实现。建议步骤:1. 确保openssh-server/client已安装;2. 使用 ssh -L 本地端口:目标地址:目标端口 用户名@跳板机IP
创建本地隧道,或 -R
远程隧道;3. 通过systemd服务持久化(创建.service文件,配置autossh)。关键点:防火墙放行SSH端口(22)、密钥认证替代密码、隧道稳定性监控。企业环境中建议结合VPN和SSH Bastion Host增强安全性。
如何通过 nmcli 在 Rocky Linux 9 中启用并配置 SSH 隧道?
在Rocky Linux 9中通过nmcli配置SSH隧道需结合SSH命令与网络策略管理,以下是实践总结:
-
基础隧道建立
ssh -fN -L <local_port>:<target_host>:<target_port> <user>@<jump_host>
建议使用密钥认证,需提前部署
ssh-keygen
与ssh-copy-id
完成免密登录,避免交互中断。 -
nmcli整合管理 通过NetworkManager管理隧道生命周期:
# 创建持久化systemd服务 systemctl --user enable ssh-tunnel.service # 配置nmcli连接依赖项 nmcli con mod eth0 connection.autoconnect-priority 10 nmcli con mod ssh-tunnel connection.autoconnect-priority 100
实现主链路中断时自动重建隧道。
-
防火墙穿透
firewall-cmd --add-port=<local_port>/tcp --permanent firewall-cmd --reload
需同步检查SELinux上下文,避免
sshd_t
域限制本地端口绑定。
典型挑战:
- 隧道稳定性:公网抖动导致断连,需在
/etc/ssh/ssh_config
添加ServerAliveInterval 60
保活机制 - 权限隔离:非root用户需通过
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
赋予低端口绑定权限 - 多跳级联:嵌套隧道需使用
-J
参数逐级穿透,如ssh -J user1@host1:22,user2@host2:2222
- 流量可见性:建议通过
tshark -i tun0
实时监控隧道流量,排查加密异常
最终方案应通过systemd unit封装SSH命令,利用nmcli实现网络拓扑绑定,达到生产级可靠性要求。
更多回答
使用nmcli创建SSH隧道需先安装NetworkManager-ssh,然后执行nmcli connection add type ssh tun.remote <IP>
并配置参数。或直接通过ssh -L/-R
命令建立隧道更简便。
Rocky Linux 9里用nmcli配SSH隧道其实不太常见,一般直接用ssh命令。比如先装好openssh客户端(sudo dnf install openssh-clients),然后跑个命令:ssh -L 本地端口:目标IP:目标端口 用户名@跳板机IP -N。想开机自启的话,可以写个systemd服务或者丢进crontab。nmcli更多是管网卡和VPN的,SSH隧道还是ssh自己搞更直接~
推荐
热门问答
部分内容依据人工智能生成,仅供参考,可能有误请注意甄别