SSH 远程连接
您可以通过 SSH 安全地从本地计算机登录到智算云平台的开发机,并在开发机上执行命令。
前置条件
- 开发机已开机,并已进入运行中状态。
- 开发机已启用 SSH 登录密码,或已添加您的 SSH 公钥。
NOTE
- 开发机支持 SSH 基于密码的认证,也支持基于公钥的身份验证。
- 如果未在创建开发机未启用任何认证方式,可通过「改配」功能启用 SSH 密码或添加公钥,也可通过 Web Terminal 登录开发机添加公钥。如何改配?。
- 本地计算机已安装 SSH 客户端,确保
ssh
命令可用。NOTE
- Mac 用户可使用自带终端(Terminal)。
- Windows 用户可在 CMD 或 PowerShell 中使用 Windows 自带的 OpenSSH 客户端。如果无法使用 CMD 或 PowerShell,可下载安装 Git for Windows ,通过 Git Bash 使用 SSH。
密码认证 vs 密钥认证
开发机支持 SSH 基于密码的认证,也支持基于公钥的身份验证。
以下提供两种方式的对比:
特性 | 密码认证 | 密钥认证 |
---|---|---|
方便性 | 简单,只需记住密码 | 需要生成和管理密钥对 |
配置复杂度 | 简单,开发机启用「SSH 登录密码」 | 复杂,需要生成密钥对并配置 |
认证速度 | 较慢,每次登录都需要输入密码 | 快速,无需输入密码 |
密钥管理 | 无需管理密钥 | 需要妥善管理私钥,防止泄露 |
自动化 | 需要输入密码 | 可以实现无密码自动登录 |
NOTE
以上对比不涉及安全性。如使用密码认证,请确保密码不要泄漏。
SSH 远程登录
进入开发机详情页面,可一键复制 SSH 地址。如已启用 SSH 登录密码,可同时复制密码。
例如,云平台用户 Jane Doe 复制的 SSH 地址为:
ssh -p 44851 root@111.51.90.14
-p 44851
: 端口号。开发机 SSH 服务使用非默认端口号。
root
:默认 SSH 登录用户名(部分旧版实例展示为非 root 普通用户名,请重启)。
111.51.90.14
:开发机 SSH 服务 IP。
如果开发机已添加 SSH 公钥,将直接登录。如果使用密码认证,输入正确的密码后将成功登录。密码错误 3 次后,10 分钟内无法再次使用 SSH 密码验证。
重置 SSH 密码
开发机的创建者可自助重置密码。进入开发机详情页后,可点击修改密码,输入符合规则的新密码并提交。新密码立即生效,无需重启开发机。
其他 SSH 功能
- 文件传输: 通过
sftp
或scp
安全地传输文件。 - 端口转发: 通过 SSH 端口转发访问开发机内 HTTP 服务
使用 root
账号
开发机默认使用 root
帐号登录,默认登录账号与登录云平台账号保持一致。
WARNING
部分旧版开发机实例仍默认使用非 root 普通用户名登录,重启后将自动更新。
无法建立 SSH 连接
如果开发机的 IP、端口无误,通过请通过以下步骤检查问题。
检查 SSH 配置
检查本地计算机的 SSH 私钥文件。是否在创建 SSH 密钥对时修改了默认的私钥文件名?
- MacOS/Linux 私钥文件默认路径为:
~/.ssh/
- Windows:
C:\Users\<用户名>\.ssh\
SSH 客户端一般在默认路径下按顺序寻找以下私钥文件。如果使用非默认私钥文件名,例如
id_rsa-mykey
,可使用 SSH 的-i
选项指定私钥文件,或在修改本地 SSH 配置文件。也可以重新生成 SSH 密钥对,并使用默认私钥文件名。bashid_rsa id_ecdsa id_ecdsa_sk id_ed25519 id_ed25519_sk id_dsa
- MacOS/Linux 私钥文件默认路径为:
检查开发机内 SSH 的授权公钥文件(
authorized_keys
),确保开发机中已成功添加您的 SSH 公钥。输出开发机中授权公钥文件内容:bashcat ~/.ssh/authorized_keys
cat
命令的输出结果中应包含您本地的 SSH 公钥(.pub
后缀)文件内容。
检查本地网络环境
部分网络环境由于安全考虑,会限制 SSH 远程连接外网的服务器,请检查本地网络环境是否允许 SSH 连接。
使用 nc
命令,其中 219.135.228.245
替换为您的开发机的 SSH IP 地址,41586
替换为开发机的 SSH 端口号。
# 输入命令后,按回车键
nc -vz 219.135.228.245 41586
# 如果连接成功,则显示以下内容
Connection to 219.135.228.245 port 41586 [tcp/*] succeeded!
如果 nc
命令无法建立连接,请联系您的网络管理员。
联系无问芯穹
如果您需要帮助,请联系无问芯穹技术支持,并提供 SSH 命令的错误输出。
命令格式:
ssh -vv -p port username@host_ip
执行命令时,请将其中 port
应替换为您开发机的 SSH 端口号,username
替换为您登录开发机的用户名,host_ip
替换为开发机的 SSH IP 地址。
常见问题
如何找到 SSH 登录密码?
只要在创建开发机启用了 SSH 登录密码,平台会自动生成初始密码。您可以进入开发机详情页复制 SSH 登录密码,或修改密码。
您无法查看他人创建的开发机的密码。
部分旧版开发机可能未启用 SSH 基于密码的认证方式,可使用「改配」功能启用该配置。但开发机内如果已添加 SSH 公钥,则优先基于密钥的认证。
WARNING
开发机 SSH 登录密码应在开发机详情页获取,不是 智算云平台的登录密码,请勿混淆。
如何添加 SSH 公钥?
如果在创建开发机时未上传 SSH 公钥,可参考以下方法:
- 通过开发机「改配」功能添加 SSH 公钥。注意开发机改配后会重启。
- 直接在开发机内添加 SSH 公钥。如需帮助,可参考教程 添加 SSH 公钥指南。