使用 PuTTY 连接甲骨文云 ARM 实例必须使用 SSH 密钥认证,默认不支持密码登录。操作前需将控制台下载的 PEM 密钥转换为 PPK 格式,并确保云控制台安全列表放行 TCP 22 端口。
先说结论:PuTTY 连接甲骨文云 ARM 实例的核心在于密钥格式转换和安全组配置,而非密码输入。
- 适合:Windows 环境下通过 SSH 管理甲骨文云 Free Tier ARM 服务器。
- 先准备:下载实例对应的 PEM 私钥文件,安装 PuTTY 和 PuTTYgen 工具。
- 验收:成功登录终端并看到操作系统欢迎标语或命令提示符。
快速处理思路
PuTTY 是图形界面工具,主要通过以下步骤完成连接配置:
- 打开 PuTTYgen 加载甲骨文云下载的 PEM 密钥。
- 点击 Save private key 保存为 PPK 格式文件。
- 在 PuTTY 会话配置中加载 PPK 文件,并在 Connection->Data 中填写默认用户名。
为什么会这样
甲骨文云出于安全考虑禁用密码认证,且 PuTTY 原生不支持 PEM 格式密钥。
SSH 协议本身支持多种密钥格式,但 PuTTY 使用的私有格式为 PPK(PuTTY Private Key)。甲骨文云初始镜像默认关闭 PasswordAuthentication,强制要求 Key-based authentication。此外,甲骨文云网络架构中,实例层面的防火墙(安全列表或网络安全组)默认可能未开放 22 端口,需手动配置。
分步处理
1. 密钥格式转换
启动 PuTTYgen 工具,点击 Load 按钮,文件类型选择 All Files,选中甲骨文云下载的 .pem 密钥文件。加载成功后,点击 Save private key 按钮,保存为 .ppk 文件。若提示警告,选择确认即可。
2. 网络安全配置
登录甲骨文云控制台,进入实例详情页,点击子网链接进入虚拟网络细节。在资源下方的安全列表(Security List)或网络安全组(NSG)中,添加入站规则:源 CIDR 设为 0.0.0.0/0(或特定 IP),目标端口范围设为 22,协议设为 TCP。
3. 会话建立
打开 PuTTY,在 Host Name 输入实例公共 IP 地址,Port 输入 22。左侧菜单展开 Connection->SSH->Auth->Credentials,在 Private key file for authentication 中选择转换后的 .ppk 文件。展开 Connection->Data,在 Auto-login username 输入对应用户名。
怎么验证是否生效
点击 Open 建立连接,首次连接会弹出安全警告,点击 Yes 确认。若配置正确,终端将显示操作系统欢迎信息(如 Oracle Linux 或 Ubuntu 标语)并出现命令提示符,例如 opc@instance:~$ 或 ubuntu@instance:~$。
常见坑
- 用户名错误:Oracle Linux 镜像默认用户名为
opc,Ubuntu 镜像默认用户名为ubuntu,使用 root 直接登录通常会被拒绝。 - 安全列表未放行:仅在实例内部关闭防火墙不够,必须在甲骨文云控制台网络安全层面放行 22 端口。
- 密钥权限问题:虽然 Windows 下不涉及 chmod,但转换密钥时若设置 passphrase 需在连接时输入,建议初次转换时留空以便自动化脚本使用。
常见问题
连接提示 Access denied 怎么办?
检查用户名是否匹配操作系统镜像,确认 PuTTY 中已加载正确的 PPK 密钥文件。
连接超时 Connection timed out 是什么原因?
通常是甲骨文云控制台安全列表未放行 22 端口,或本地网络防火墙阻挡了出站连接。
ARM 实例连接方式和 x86 有区别吗?
SSH 连接流程完全一致,区别仅在于实例创建时选择的处理器架构,不影响远程连接配置。
参考来源
- Oracle Cloud Infrastructure Documentation: Connecting to an Instance by Using SSH
- PuTTY Official Website: Download and User Manual