最近需要用Ubuntu22.04做一些事情,但是双系统是20.04不想动,又觉得wsl存储占用过多,于是想使用Docker。
1.拉取Ubuntu镜像并创建容器
1  | # 拉取ubuntu镜像  | 
将容器22端口映射到主机的2060端口
2.安装ssh
进入容器之后,开放22端口
1  | # 更新安装包  | 
之后修改/etc/ssh/sshd_config中PermitRootLogin为yes
1  | vim /etc/ssh/sshd_config  | 
如下图:

然后启动ssh服务,修改root密码
1  | service ssh start  | 
安装ufw,并开放22端口
1  | apt install ufw  | 
如这一步报错,退出容器,然后在进入容器命令中加入--privileged。
如:docker exec --privileged -it {container_id} /bin/bash
ssh连接
1  | ssh -p 2060 root@192.168.3.189  | 
注意ip地址是本机的ip地址。然后输入密码可以连接上。
问题
如果每次重启容器需要重新启动ssh服务,可以把service ssh start写入~/.bashrc内,每次启动容器可以自动执行了。
参考博客:
二、docker安装Ubuntu22.04最新系统 - 哔哩哔哩 (bilibili.com)
SSH连接报错:Permission denied, please try again.的解决方法 - 腾讯云开发者社区-腾讯云 (tencent.com)