部署教程
DMIT SSH 密钥与首次连接:生成、公钥绑定和登录排错
在本地生成 SSH 密钥,将公钥绑定到 DMIT 实例,再用 Windows 或 macOS 连接;区分密码、密钥与网络错误。
已经买好 DMIT,为什么输入 root 密码仍登不上
DMIT 默认关闭 root 密码远程登录,首次 SSH 连接使用密钥。实例控制台登录和远程 SSH 是两种入口:控制台能用密码,并不表示 SSH 也接受密码。先在客户中心确认实例已启动,记下 IP 和实际 SSH 端口。
密钥分为公钥和私钥。公钥上传到商家后台,私钥留在自己的电脑;连接时选择私钥文件。此前选择了下单后生成密钥的用户,先按官方获取密钥说明保存下载包,无需再生成第二套。
在自己的电脑生成密钥
macOS 使用终端。Windows 使用已安装 OpenSSH 客户端的 PowerShell,可先执行 ssh -V 确认命令可用。生成时指定一个未使用的文件名;提示文件已存在时不要覆盖。为私钥设置口令,并保存到自己的密码管理器。
ssh-keygen -t ed25519 -C "dmit-login"交互提示会显示保存路径。默认公钥文件名以 .pub 结尾,私钥是同名且不带 .pub 的文件。macOS 可用 cat 查看公钥;Windows 可用 Get-Content。只复制公钥中的完整一行,不复制私钥内容。
上传公钥后,还要绑定实例
在 DMIT 客户中心进入 Services → SSH Keys,点击 Add Key,粘贴公钥并命名。随后打开目标实例,进入 Access → Change Key,选择该密钥并点击 Save to Instance。密钥库中出现一条记录,不等于它已经应用到这台实例。
官方流程要求从实例控制面板重启以应用变更。选择强制关机确认前,先结束写入任务并安排停机;在系统里执行 reboot 不能替代这个面板流程。面板重启完成前,旧密钥仍可能有效。
用 Windows 或 macOS 登录
将命令中的 PRIVATE_KEY_PATH、SERVER_IP 和 SSH_PORT 换成私钥绝对路径、实例 IP 和实际端口。官方 Linux 实例连接示例使用 root;自行修改过系统账号的机器使用自己的账号。
ssh -o IdentitiesOnly=yes -i "PRIVATE_KEY_PATH" -p SSH_PORT root@SERVER_IP首次连接会显示主机指纹。通过可信的实例控制台取得主机公钥指纹后再接受;重装或换 IP 后出现主机密钥变化,应先确认变更原因。macOS 私钥被提示权限过宽时,可执行 chmod 600 "PRIVATE_KEY_PATH"。Windows 私钥应由自己的账号保管,遇到权限错误按 OpenSSH for Windows 的 ACL 要求调整,不照搬 chmod。
根据报错定位,而不是反复改密码
Connection timed out 通常先查地址、端口、实例状态及防火墙;Connection refused 表示目标拒绝了连接,继续确认 SSH 是否监听在该端口。Permission denied (publickey) 则检查账号、私钥是否与实例公钥匹配,以及面板重启是否已经完成。
可在原连接命令中加入 -v 查看认证过程。日志可能包含地址和文件路径,分享前先去掉这些信息。失去密钥时使用官方控制台与工单恢复访问,不为了首次登录把密码远程登录全面打开。