GPU服务器租用安全配置实战:SSH密钥与端口最小化开放

拿到GPU服务器租用实例后,很多开发者会立刻上传代码,却忽略SSH口令、监听端口和服务暴露范围。训练脚本、模型权重与接口一旦直接暴露到公网,风险远高于普通开发机。本文用一套最小配置,完成实例上线前的基础检查。

一、问题背景

GPU算力平台常通过SSH、JupyterLab或WebUI提供入口。弱口令、无关端口或服务监听所有网卡,可能带来扫描与误访问。大模型训练和推理部署运行时间长,安全配置应在上传数据前完成。

安全并不是把所有端口关闭,而是只开放当前任务需要的入口,并限制访问来源。AI算力平台控制台规则与Linux主机配置应同时检查,避免只改其中一层。

二、环境准备

准备本地电脑、云GPU实例及备用会话。修改SSH前不要关闭当前连接,并记录端口规则、登录用户和应用端口。

润云智算提供按需GPU实例、平台镜像及SSH、JupyterLab等开发入口,可从官网查看实时资源。不同镜像的默认用户与访问方式可能不同,应以实例页面说明为准。

三、实操步骤

1. 在本地创建独立密钥

bash 复制代码
ssh-keygen -t ed25519 -a 64 \
  -f ~/.ssh/gpu_project_ed25519 \
  -C "gpu-project"

为密钥设置口令,不要把私钥上传到聊天工具、网盘或代码仓库。.pub公钥可写入授权列表。

2. 安装公钥并测试新连接

bash 复制代码
ssh-copy-id -i ~/.ssh/gpu_project_ed25519.pub user@server_ip
ssh -i ~/.ssh/gpu_project_ed25519 user@server_ip

没有ssh-copy-id时按平台文档添加公钥。确认新窗口能登录后再修改。

3. 收紧SSH配置

先备份配置:

bash 复制代码
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sudo sshd -t

在配置中确认或设置:

text 复制代码
PermitRootLogin no
PubkeyAuthentication yes
PasswordAuthentication no
MaxAuthTries 3

先执行sudo sshd -t检查语法,再重载SSH。禁用密码前必须验证密钥登录;托管镜像应优先遵循平台文档。

4. 盘点真实监听端口

bash 复制代码
ss -lntup
sudo lsof -i -P -n | head -n 30

区分127.0.0.1与0.0.0.0:前者仅本机访问,后者可能对外暴露。TensorBoard、Jupyter和临时API不应默认公开。

5. 用SSH隧道访问本地服务

假设Jupyter只监听实例的127.0.0.1:8888,可在本地执行:

bash 复制代码
ssh -i ~/.ssh/gpu_project_ed25519 \
  -L 8888:127.0.0.1:8888 user@server_ip

随后访问本地http://127.0.0.1:8888,无需把开发端口暴露公网。

6. 最小化平台端口规则

仅保留SSH和业务端口,并限制到可信来源。正式API还应配置鉴权、限流与日志。

最后验证允许与阻断结果并保存清单,再进入模型上传和推理部署。

四、常见问题与解决方案

1. 关闭密码后无法登录

保持原会话不要退出,恢复备份配置并检查公钥权限。~/.ssh通常应仅允许本人访问,authorized_keys也不应对其他用户开放写权限。

2. 服务端口未开放却仍可访问

检查进程监听地址、已有会话、反向代理及平台规则,确认测试的是公网地址而非SSH隧道。

3. Jupyter必须开放公网吗

多数个人开发场景不需要,可通过SSH隧道访问。确需共享时,应启用令牌或登录认证并限制来源。

4. 更换镜像后规则还在吗

平台规则和系统配置的保留方式可能不同。重建实例后应重新执行清单,不要假设旧配置自动继承。

五、总结

实例安全的核心是密钥登录、禁止高风险入口、盘点监听端口与限制来源。通过平台规则和主机配置双重检查,可以减少开发服务误暴露。

FAQ

Q1:SSH端口改成非常用端口就安全吗?

只能减少部分扫描,不能替代密钥、来源限制和登录日志。

Q2:私钥可以多人共用吗?

不建议。每位成员应使用独立密钥,便于撤销与审计。

Q3:训练结束后要做什么?

备份必要产物,删除临时凭据和敏感缓存,再按平台流程关停实例。

Q4:正式API只开放一个端口够吗?

端口最小化只是基础,还要配置鉴权、TLS、限流、日志和异常告警。

相关推荐
花月mmc3 分钟前
FPGA数字信号处理与深度学习
嵌入式硬件·深度学习·fpga开发·信号处理
zhongerzixunshi3 分钟前
军工保密资质|筑牢涉密科研生产安全底线
人工智能·安全
绕灵儿4 分钟前
火灾检测-应用场景-YOLO训练记录
人工智能·算法
超级架构师5 分钟前
让 COBOL 长出 AI 大脑:原生 Agent 核心框架 praxo-core 深度剖析
c语言·开发语言·c++·人工智能·python·架构·ai编程
红红谈说6 分钟前
定时发布关机就停,本地定时任务的补跑策略怎么设计?
运维·服务器·定时任务·本地调度·补跑策略·幂等互斥·执行记录
拜小白9 分钟前
【论文解读】OmniSRNet:畸变感知学习——从单张全向图像恢复房间结构
深度学习·计算机视觉·全景图
蓝悦无人机12 分钟前
Ansys仿真常见错误及警告
人工智能·ansys仿真
skywalk816315 分钟前
deepseek对skywalk163/hive 和hivecommons/hive 两个多机AI Agent任务调度项目的对比
人工智能·hive·agent
紧跟先前的步伐16 分钟前
Go AI Agent 实战 19|工具定义、参数 Schema 与工具注册表
人工智能·ai·golang·1024程序员节
NineData17 分钟前
NineData 社区版 V5.4.0 上线:715 条复制对比链路,AI Agent 新增表结构设计发布能力
大数据·数据库·人工智能·mysql·数据库管理工具·ninedata·数据库迁移工具