docker拉取乌班图并且ssh连接
- 拉取
docker pull ubuntu:22.04
- 进入容器
首先,确保你的容器在运行状态。如果容器已经启动,可以使用 docker exec 进入容器。假设容器名称是 my_ubuntu_container,可以使用以下命令:
docker exec -it my_ubuntu_container bash
- 更新包列表
apt-get update
- 安装 OpenSSH 服务器
apt-get install -y openssh-server
- 启动 SSH 服务
安装完 OpenSSH 服务器后,创建必要的目录并启动 SSH 服务:
mkdir /var/run/sshd
service ssh start
- 设置 root 密码
设置 root 用户的密码,这样你可以通过 SSH 登录到容器:
echo 'root:root' | chpasswd
这里设置的密码是 root,你可以根据需要修改。
7. 配置 SSH 允许 root 登录
你可能需要修改 SSH 配置以允许 root 用户通过密码登录。编辑 SSH 配置文件
nano /etc/ssh/sshd_config
找到 PermitRootLogin,并确保它被设置为 yes:
PermitRootLogin yes
- 重启 SSH 服务
service ssh restart
- 暴露端口
如果你是在 Docker 容器外部连接容器的 SSH 服务,你需要确保容器的 SSH 端口被映射到宿主机的端口上。假设宿主机的端口是 2222,可以运行以下命令映射端口:
docker run -d -p 2222:22 my_ubuntu_container
如果容器已经运行,可以通过以下命令映射端口:
docker container run -p 2222:22 -d <container_id_or_name>
如果ssh开机自启
docker run -d -p 2222:22 --name unruffled_tu ubuntu:20.04 /usr/sbin/sshd -D
- 通过 SSH 连接到容器
ssh root@localhost -p 2222
输入密码 root,即可进入容器。