自定义镜像-配置SSH连接开关
常用操作系统的自定义镜像需要通过配置sshd服务和设置标签,才会在创建容器时出现SSH连接开关,创建容器成功后出现SSH连接的账号、密码。
-37d8ce393a151034d5b41c8d00e3ed51.png)
一、官方内置镜像
以下官方内置镜像,在新建开发环境时默认支持SSH连接功能,且有SSH连接开关。
-690b8e37a3b3d03fba8129b3f0c49563.png)
-24872b92f822a761b46caf5f207d9bc0.png)
二、用户基于官方的镜像,所构建的镜像
用户基于官方(admin命名空间,admin开头)的内置镜像所修改的镜像,需要打标签(Web IDE、CentOS 桌面和Ubuntu 桌面中任意一种标签)才能支持SSH连接功能。
-3ef8129c9edb75bb1cd84b3fdaaa1352.png)
-fbf37e5a96f95e662e332543ac065ef3.png)
-45ffde27fc5c707248779bf3bde9cd46.png)
-28d9761f1a5c90a25fb9242facf26ed9.png)
-96f652938c788eaf515a58fe90e79621.png)
-3e3ec476ed61aef9b1677c66f92a2b25.png)
-57c1bae74368ae8f22422e4bf48523e7.png)
-f14a613ff089f0e0d9e62dcf23c742f2.png)
-e2345aab6ff16fd04f9587e5f1fa2358.png)
-fdcc143e8125c6cab512a7b3846721f6.png)
-95ca135b41f95d96b4fc06ad024c3b88.png)
-74602ba7e3dd00cdbcaa4acd12f73b14.png)
三、用户自己构建的镜像
如果要支持SSH连接功能,需要满足以下两个条件: 1.镜像中需要安装sshd服务 2.修改/etc/ssh/sshd_config配置(见示例),才能确保正常的使用SSH连接功能(目前平台提供的镜像不支持)。Redhat、Centos系统,把以下的“apt”改成“yum” Dockerfile增加以下内容:
# Dockerfile
## FROM ubuntu
RUN apt update -y && apt install openssh-server -y && \
sed -i '/^#PasswordAuthentication/s/#PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config && \
sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config
## CMD ["bash"]
设置标签为SSH,别设置其他标签
-405603cccc6e44d5c112ae695857cc25.png)
-c0621ae115832fee5dfee4cc2de6d7af.png)
四、用户自己导入的镜像
-988ae4895eab12d0a2ede3b24035bdf3.png)
-a198aa221a90390cccdd349fff739b13.png)
导入镜像后,到开发中心,新建该镜像的操作系统,进入操作系统安装openssh-server,修改ssh配置:
#Ubuntu举例:
apt update -y && apt install openssh-server -y && \
sed -i '/^#PasswordAuthentication/s/#PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config && \
sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config
#Centos举例:
yum install openssh-server -y
sed -i '/^#PasswordAuthentication/s/#PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config && \
sed -i 's/#PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config
到这一步已经完成了修改配置文件和打标签步骤。将这个镜像保存为“新的镜像”方便下次再用。(保存镜像-只打SSH标签-开发中心新建实例-开始使用)。
-3ef8129c9edb75bb1cd84b3fdaaa1352.png)
-ae0c6760141bc0bcf738d7b416d5cfec.png)
-45ffde27fc5c707248779bf3bde9cd46.png)
-28d9761f1a5c90a25fb9242facf26ed9.png)
-96f652938c788eaf515a58fe90e79621.png)
-b2f18b3616085ab617a7e647beaef0c9.png)
-f14a613ff089f0e0d9e62dcf23c742f2.png)
-147d9c9ccf0db8e5f5ae8da53c87ea1e.png)
-37d8ce393a151034d5b41c8d00e3ed51.png)
-cc76597f6e294c171af04a37dc7b5871.png)
利用开发工具ssh到实例: 新建开发环境时如果开启了SSH连接,在开发环境实例上会显示SSH连接信息。使用本地的SSH连接工具,复制SSH连接和密码可以连接到开发环境中。如果对已经启动但是没有开启SSH连接的开发环境,可以通过修改来开启SSH连接。修改后重启开发环境,等待开发环境运行后,即可看到SSH连接信息。 Vscode、pycharm等IDE,可以安装remote插件连接开发环境。
开发环境连接信息
-8cd40e292238be15db02cf42fb794fdc.png)
Vscode插件连接开发环境