当前位置: 首页 > article >正文

docker拉取乌班图并且ssh连接

  1. 拉取
docker pull ubuntu:22.04
  1. 进入容器
    首先,确保你的容器在运行状态。如果容器已经启动,可以使用 docker exec 进入容器。假设容器名称是 my_ubuntu_container,可以使用以下命令:
docker exec -it my_ubuntu_container bash
  1. 更新包列表
apt-get update
  1. 安装 OpenSSH 服务器
apt-get install -y openssh-server
  1. 启动 SSH 服务
    安装完 OpenSSH 服务器后,创建必要的目录并启动 SSH 服务:
mkdir /var/run/sshd
service ssh start
  1. 设置 root 密码
    设置 root 用户的密码,这样你可以通过 SSH 登录到容器:
echo 'root:root' | chpasswd

这里设置的密码是 root,你可以根据需要修改。
7. 配置 SSH 允许 root 登录
你可能需要修改 SSH 配置以允许 root 用户通过密码登录。编辑 SSH 配置文件

nano /etc/ssh/sshd_config

找到 PermitRootLogin,并确保它被设置为 yes:

PermitRootLogin yes
  1. 重启 SSH 服务
service ssh restart
  1. 暴露端口
    如果你是在 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
  1. 通过 SSH 连接到容器
ssh root@localhost -p 2222

输入密码 root,即可进入容器。


http://www.kler.cn/a/570489.html

相关文章:

  • C++小课堂——变量的声明,赋值和初始化
  • Redis是什么?如何使用Redis进行缓存操作?
  • Powershell和BTEQ工具实现带多组参数和标签的Teradata数据库批量数据导出程序
  • 深度学习-13.深度强化学习:深度 Q 学习
  • 【网络编程】之TCP通信步骤
  • 基础篇——深入解析SQL多表操作与关联查询:构建复杂数据关系的桥梁
  • 《解锁HarmonyOS NEXT高阶玩法:艺术图像识别功能开发全攻略》
  • Nginx将tomcat项目转发。将非80/443端口口转为80或443及https
  • halcon学习笔记1
  • Centos7部署k8s(单master节点安装)
  • 硅基流动前端如何设置tool工具
  • LINUX网络基础 - 网络编程套接字,UDP与TCP
  • 27、Java 反射机制
  • 数据结构(初阶)(五)----栈
  • 如何使用Python和SQLAlchemy结合外键映射来获取其他表中的数据
  • 迷你世界脚本组队接口:Team
  • C语言:51单片机 程序设计基础
  • 大模型学习笔记------LLM模型开发流程
  • Django与数据库
  • Docker 模拟 kubernetes 的 pod