docker centos ssh

本文详细介绍如何在Docker容器内安装和配置SSH服务,包括创建容器、安装SSH软件包、生成密钥对、配置SSH服务、设置系统自启动、为root用户添加密码以及最终通过SSH连接到容器。
1、创建一个容器

docker run -d -p 18022:22 -p 18000:8000 --privileged -v /Users/caowei/share:/share --name yf c17f22223248 /usr/sbin/init

2、进入容器

docker exec -it 39550a9d4610 /bin/bash

3、安装openssh和openssh-server

yum install -y passwd openssh openssh-server

4、生成秘钥对,保持默认配置即可。

ssh-keygen

5、设置ssh,打开登录功能,保持默认配置即可。

编辑文件:vi /etc/ssh/sshd_config

PermitRootLogin yes
RSAAuthentication yes
PubkeyAuthentication yes
的设置打开。
在这里插入图片描述

6、设置系统开机自启openssh-server,开启openssh-server

systemctl enable sshd
systemctl start sshd
systemctl status sshd

7、为centos8的root用户添加密码(用户名默认为root)

查看可以登录系统的用户:
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

修改root用户密码:
passwd root

8、 连接docker容器里面的centos8

ssh root@localhost -p 18022
在这里插入图片描述

如果你的问题是如何在 Docker 中创建一个带有 SSHCentOS 7 镜像,可以按照以下步骤操作: 1. 创建一个 Dockerfile 文件,内容如下: ``` FROM centos:7 RUN yum -y install openssh-server RUN mkdir /var/run/sshd RUN echo 'root:password' | chpasswd RUN sed -i 's/#PermitRootLogin yes/PermitRootLogin yes/' /etc/ssh/sshd_config RUN ssh-keygen -A EXPOSE 22 CMD ["/usr/sbin/sshd", "-D"] ``` 这个 Dockerfile 文件会从官方的 CentOS 7 镜像开始构建,安装 SSH 服务,并设置 root 用户的密码为 password。同时,它会修改 SSH 配置文件,允许 root 用户登录,并生成 SSH 密钥。 2. 在 Dockerfile 文件所在的目录下,执行以下命令构建镜像: ``` docker build -t centos7ssh . ``` 这个命令会在当前目录下构建一个名为 centos7ssh 的镜像,用于运行 CentOS 7 并启动 SSH 服务。 3. 运行镜像并登录到容器中: ``` docker run -d -p 2222:22 --name centos7ssh centos7ssh docker exec -it centos7ssh /bin/bash ``` 这个命令会在后台运行一个名为 centos7ssh 的容器,并将容器的 22 端口映射到本地的 2222 端口。然后,它会登录到容器中,并启动一个交互式的 bash shell。 现在,你可以使用 SSH 客户端连接到本地的 2222 端口,以 root 用户身份登录到容器中了。例如,使用以下命令连接到容器: ``` ssh root@localhost -p 2222 ``` 当然,这里的密码是刚才在 Dockerfile 文件中设置的 password,你可以根据需要进行修改。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值