SSH直连是从本地终端或VSCode远程连接DSW实例的推荐方式,连接稳定且快速。
使用限制
不支持的实例类型:
公共资源组以
ecs.ebm开头的资源规格,暂不支持 SSH 远程连接。公网连接数量限制:
通过公网远程连接DSW实例时,PAI会自动为每个公网NAT网关配置DNAT规则,无需手动配置。
每个公网NAT网关最多可配置100条DNAT规则,因此最多支持100个DSW实例的同时连接。更多配额信息参见配额。
计费说明
当需要从公网远程连接DSW实例时,需配置NAT网关、弹性公网IP(EIP)或负载均衡NLB。NAT网关、EIP、NLB均独立计费,即使DSW已停止也会持续产生费用。不再需要时请及时删除。
实施步骤
步骤一:开通内网DNS解析
开通内网DNS解析。DSW实例部署在VPC中,SSH连接依赖内网域名解析实例IP地址。开通内网DNS解析后,连接才能成功建立。
步骤二:生成SSH公钥
在客户端执行以下命令生成公钥。生成过程中需设置登录DSW实例的密码,如果要使用remote_ikernel工具连接实例(见本文场景示例),请不要设置密码,直接按回车键(Enter)。
将公钥生成到默认路径下(推荐)
执行如下命令:
ssh-keygen执行后,在以下目录生成公钥(id_rsa.pub)和私钥(id_rsa)文件。如果已存在SSH密钥对,文件将被覆盖。各系统默认路径:
Windows操作系统:保存在
C:\Users\<username>\.ssh目录或C:\用户\<username>\.ssh目录。Linux操作系统:root用户保存在
/root/.ssh目录;普通用户保存在/home/<username>/.ssh目录。Mac操作系统:保存在
/Users/<username>/.ssh目录。
将公钥生成到自定义目录下
执行如下命令:
ssh-keygen -f /your/path/example_rsa # 将在/your/path下生成example_rsa.pub和example_rsa步骤三:配置DSW实例SSH参数
在创建DSW实例时,配置以下网络参数。
对于已创建的实例,单击变更配置修改对应参数,然后单击确定,更新配置。
参数名称 | 描述 |
专有网络、交换机 ID、安全组 | 如果您使用公共资源创建DSW实例,需配置专有网络、交换机 ID和安全组。您可以参考以下步骤创建,详细内容参见创建专有网络与交换机,及管理安全组。注意专有网络和安全组必须与DSW实例在相同地域。 重要 请确认安全组规则中,入方向已放通 TCP 22 端口,并允许客户端IP地址访问。 |
启用SSH | 单击打开,并将步骤二中生成的公钥文件 |
服务访问与端口配置 | 在启用SSH开关打开后,会出现名称为SSH的服务。
|
从公网访问实例 | 当需要公网访问时需配置,选择DNAT + EIP。
您可参考以下内容创建NAT网关和弹性公网IP: 此外,也可选择NLB方式,创建NLB时实例网络类型选择公网类型,VPC选择与当前DSW实例相同的VPC,详细操作参见NLB快速实现IPv4服务的负载均衡。 说明 如果多台DSW实例共用相同的DNAT和EIP(或NLB),请使用不同的公网访问端口。 |
步骤四:安装SSH Server
在DSW实例的Terminal中执行以下命令,查看SSH服务是否已运行。
官方预置镜像及基于其生成的自定义镜像,默认已安装并启动SSH Server。
service ssh status如果SSH服务未运行,在DSW的Terminal中执行以下命令安装SSH Server。
sudo apt-get update
sudo apt-get install openssh-server
sudo service ssh start如果提示sudo未找到,先执行apt-get install sudo,再重试上述命令。
步骤五:远程连接DSW实例
查看访问方式。
在DSW页面,单击实例名称进入实例详情页面。在实例配置页签的网络配置区域中,查看公网访问方式和VPC访问方式。
说明如果SSH配置未选择公网登录,则此处将只显示VPC访问方式,不显示公网访问方式。
连接DSW实例。
通过SSH连接
公网访问
在本地命令行或其他终端中,使用步骤1查询的公网访问方式远程连接到DSW实例。
ssh root@xx.xx.xx.xx -p 1024 # 如果私钥不在默认路径上,需要指定私钥的位置 ssh -i /your/path/example_rsa root@xx.xx.xx.xx -p 1024重要-p参数的值1024为SSH配置的公网访问端口。VPC访问
在VPC内的其他终端(例如ECS实例),使用步骤1查询的VPC访问方式远程连接到DSW实例。
ssh root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22 # 如果私钥不在默认路径上,需要指定私钥的位置 ssh -i /your/path/example_rsa root@dsw-notebook-xxxx.dsw-xxxx.dsw.pai.alibaba.com -p 22
通过本地VSCode连接
打开VSCode,在Extensions中安装Remote - SSH插件。

单击左下角
,唤出Remote-SSH弹窗,选择Connect to Host... > Add New SSH Host...。输入SSH连接命令。
ssh root@xx.xx.xx.xx -p 1024 # 如果私钥不在默认路径上,需要指定私钥的位置 ssh -i /your/path/example_rsa root@xx.xx.xx.xx -p 1024
单击右下角打开,左下角显示连接成功。

打开DSW实例中的目录,开始远程开发和调试。

运行时可连接DSW实例中的Kernel。

场景示例:在DSW实例上运行本地Notebook代码
前提条件
已按照本文步骤一到步骤四完成SSH直连配置,且生成SSH公钥时没有设置密码。
操作步骤
在本地Terminal安装remote_ikernel工具并添加remote kernel。
pip install remote_ikernelremote_ikernel manage --add \ --kernel_cmd="ipython kernel -f {connection_file}" \ # 无需修改 --name="Remote Python" \ --interface=ssh \ --host=root@*.*.*.*:1024 # 此处修改为您的host地址,如果私钥不在默认路径上,则需要设置为 --host="-i /your/path/example_rsa root@*.*.*.*:1024"如果回显提示如下,表示remote kernel添加成功。
Added kernel ['rik_ssh_root_121_40_*_*_1024_remotepython']: SSH root@121.40.*.*:1024 Remote Python.查看remote kernel配置信息可执行如下命令。
remote_ikernel manage --show在本地VSCode中,打开一个Notebook文件,右上角kernel切换,可在搜索框中选到Remote Python。

常见问题
Q:远程连接SSH直连和ProxyClient代理两种方案区别?
Q:使用SSH连接DSW时,遇到连接失败、超时或密钥被拒等问题,该如何解决?
按以下分类排查:
公网连接不通
确认安全组入方向已放通 TCP 22 端口,并允许您客户端IP地址访问。
若VPC中有多个公网NAT网关,参考单可用区公网 NAT 网关高可用部署检查NAT网关、vSwitch和路由表的路由关系。
若只有一个NAT网关,使用自助问题排查分析网络可达性。
VPC内连接不通
确认客户端与DSW实例在同一VPC下,并已开通内网DNS解析服务。
若使用自定义镜像,确认已安装并启动SSH服务,详见步骤四:安装SSH Server。
确认安全组入方向已放通 TCP 22 端口。
密钥被拒绝(Permission denied)
确认已将公钥(
id_rsa.pub的内容)完整添加到DSW实例的SSH配置中。确认SSH命令使用的私钥与公钥匹配,若私钥不在默认路径(
~/.ssh/id_rsa),需用-i参数指定。
VSCode连接失败
确认已安装
Remote - SSH插件,且SSH命令输入完整(如ssh root@xx.xx.xx.xx -p 1024)。先在本地终端用SSH命令测试连接,确认基础连接正常后再排查VSCode配置。
若报"试图写入的管道不存在"错误,尝试重启VSCode或重新安装Remote - SSH插件。
Q:是否支持使用PyCharm等本地WebIDE来远程连接到DSW实例?
支持所有基于原生SSH协议的功能。使用PyCharm时,PyCharm会在DSW实例中自动下载安装服务端,因此DSW实例需具备公网访问能力。
Q:如何查看实例公网IP?
如果已配置好公网NAT网关,可通过以下步骤查看公网IP。
Q:DSW实例是否支持创建多个用户并分别通过SSH登录?
DSW实例默认仅提供root用户用于SSH登录。目前DSW不支持创建多个独立用户并分别配置SSH隔离登录。可在实例内部手动创建新用户,但这并非官方支持的标准用法。
Q:在本地IDE(如VSCode、PyCharm)中连接DSW时,看不到工作目录文件怎么办?
SSH登录后默认目录可能是root用户的主目录(/root)。工作文件通常位于挂载的数据盘路径下,例如/mnt/workspace。在VSCode中,通过侧边栏的”文件” > “打开文件夹”功能,手动选择并打开正确的工作目录即可。
相关文档
如果场景不适合或不想配置额外网络组件,可尝试使用ProxyClient方式远程连接。
配置VPC名称、IPv4网段和交换机信息,其他参数保持默认,然后单击确定创建VPC和交换机。





