如何配置甲骨文云实例安全列表允许 22 端口

文章导读
在甲骨文云控制台为实例所在的子网安全列表添加入站规则,放行 TCP 22 端口,同时必须检查实例操作系统内部防火墙状态,确保两端均放行才能成功连接。
📋 目录
  1. 控制台安全列表配置
  2. 实例内部防火墙与 SSH 配置
  3. 连接验证与故障排查
  4. 参考来源
A A

在甲骨文云控制台为实例所在的子网安全列表添加入站规则,放行 TCP 22 端口,同时必须检查实例操作系统内部防火墙状态,确保两端均放行才能成功连接。

先说结论:通过 VCN 安全列表的入站规则开放 22 端口是基础操作,但直接对全网开放存在被暴力破解风险。

  • 先判断:确认实例操作系统内部防火墙未拦截 SSH 服务。
  • 优先做:安全列表源 CIDR 尽量填写具体管理 IP,避免使用 0.0.0.0/0。
  • 再验证:配置完成后使用 SSH 客户端测试连接,而非仅看控制台状态。

控制台安全列表配置

此配置主要通过甲骨文云控制台完成,核心路径为:登录控制台 -> Networking -> 虚拟云网络 -> 安全列表 -> 添加入站规则。

  1. 登录甲骨文云控制台,进入Networking菜单下的虚拟云网络 (VCN)
  2. 点击实例所属的 VCN,找到安全列表 (Security Lists)栏,点击对应的安全列表名称。
  3. 入站规则 (Ingress Rules)区域,点击添加入站规则 (Add Ingress Rules)
  4. 填写规则:源类型选 CIDR,源 CIDR 填写管理 IP(严禁使用 0.0.0.0/0,除非临时调试),协议选 TCP,目标端口范围填 22。
  5. 点击添加入站规则保存,通常秒级生效。
  6. 修改或删除规则:若配置错误,可在同一页面找到已添加的规则,点击右侧操作菜单选择编辑或删除,修改后即时生效。

实例内部防火墙与 SSH 配置

云控制台放行后,若仍无法连接,通常是因为实例内部防火墙或 SSH 服务配置限制。需登录实例(通过云控制台 VNC 或已有密钥)进行以下检查。

如何配置甲骨文云实例安全列表允许 22 端口

1. 放行内部防火墙

根据操作系统类型执行相应命令:

  • Ubuntu/Debian (UFW):
    sudo ufw allow 22/tcp
    sudo ufw reload
  • CentOS/Oracle Linux (Firewalld):
    sudo firewall-cmd `--permanent` `--add-port`=22/tcp
    sudo firewall-cmd `--reload`

2. 检查 SSH 服务配置

如何配置甲骨文云实例安全列表允许 22 端口

部分镜像默认禁止 root 登录或密码登录,需编辑/etc/ssh/sshd_config 开启 PermitRootLogin 并重启 sshd 服务。

  • 编辑配置:sudo vi /etc/ssh/sshd_config
  • 确保包含:PermitRootLogin yesPasswordAuthentication yes(根据需求开启)。
  • 重启服务:sudo systemctl restart sshd

连接验证与故障排查

在本地终端执行ssh -v -i 密钥路径 opc@实例公网 IP,观察连接日志。

常见错误排查:

  • Connection timed out:通常是网络层面拦截。检查安全列表入站规则是否生效,源 IP 是否正确,本地网络是否限制出站 22 端口。
  • Connection refused:通常是实例内部问题。检查实例内部防火墙是否放行 22 端口,SSH 服务是否运行(sudo systemctl status sshd)。
  • Permission denied:密钥错误或 SSH 配置禁止了当前登录方式。检查密钥权限(chmod 400)及 sshd_config 配置。
  • 全网开放风险:源 CIDR 填 0.0.0.0/0 会让实例暴露在公网扫描下,建议配合 fail2ban 或使用堡垒机,调试完成后立即收紧规则。

参考来源

  • Oracle Cloud Infrastructure Documentation, "Security Lists", https://docs.oracle.com/en-us/iaas/Content/Network/Concepts/securitylists.htm