一、安装Docker
参见文章:https://blog.csdn.net/y1534414425/article/details/107872715
二、拉取Centos7镜像
docker pull centos:7
三、运行Centos7
docker run -itd --name myCentos -p 8081:22 -p 8082:80 centos:7 /bin/bash
四、进入容器
docker attach [容器ID]
五、根据自己需求,先安装一些基本的(容器,默认是root用户)
yum install -y net-tools
六、接着安装openssl,openssh-server
yum install -y openssl openssh-server
七、然后启动ssh
/usr/sbin/sshd -D
这里会报错
需要进行下面的设置
[root@68e7598797d7 /]# ssh-keygen -q -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key -N ''
[root@68e7598797d7 /]# ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N ''
[root@68e7598797d7 /]# ssh-keygen -t dsa -f /etc/ssh/ssh_host_ed25519_key -N ''
八、接着修改sshd_config文件配置信息
配置文件路径为 /etc/ssh/sshd_config
1.将 Port 22 前面的注释去掉(开启22号端口)
2.将 PermitRootLogin的值改为 yes (这里是设置是否允许root用户登录,可根据自己需求决定是否开启)
3.重新启动ssh
/usr/sbin/sshd -D &
注意,如果设置都没问题的话,命令结尾加个‘&’,自动后台运行,启动成功会返回进程号
九、给root添加密码,添加过的可跳过此步骤
[root@68e7598797d7 /]# yum install passwd
[root@68e7598797d7 /]# passwd
十、先退出并关闭刚才的容器,可以使用 exit 命令,然后保存镜像
docker commit [容器ID] [镜像名称]
十一、基于新镜像重新启动一个容器
docker run -itd --name newCentos -p 8081:22 -p 8082:80 [新镜像名称] /bin/bash
PS:进入容器并重新开启ssh,不会自动启动
/usr/sbin/sshd -D &
接着就可以 使用xshell远程连接