ssh连接docker容器

发布时间 2023-03-31 11:09:03作者: xiaoxiaoの

1、docker pull 镜像

2、查看镜像列表

docker images

3、运行镜像 (10.x.x.x是主机ip,/usr/sbin/init可在docker里启动服务,privileged特权容器)

docker run -itd --privileged=true -p 10.x.x.x:9996:22 docker.io/ansible/centos7-ansible /usr/sbin/init

4、docker ps查看镜像id

 

 

 5、进入镜像

docker exec -it 2c7180261d4f bash

6、进入docker后,使用passwd密码来修改密码(如提示没有这个命令行使用yum install passwd安装)

[root@2c7180261d4f ansible]# passwd
Changing password for user root.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

7、docker中安装Openssh

yum -y install openssh-server openssh-clients

8、修改SSH配置文件以下选项,去掉#注释

vi /etc/ssh/sshd_config
RSAAuthentication yes #启用 RSA 认证
PubkeyAuthentication yes #启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同)
PermitRootLogin yes #root能使用ssh登录

9、启动ssh服务

[root@2c7180261d4f ansible]# service sshd start
Redirecting to /bin/systemctl start sshd.service

10、查看系统日志/var/log/secure(docker中)

 

 

 11、默认没有/var/log/secure,需要安装rsyslog

yum install -y rsyslog

12、查看系统时间,与当前时间不一致

[root@2c7180261d4f log]# date
Fri Mar 31 02:47:28 UTC 2023
[root@2c7180261d4f log]# hwclock
Fri 31 Mar 2023 02:51:07 AM UTC -1.000853 seconds

13、调整系统时间

#安装utpdate工具
yum install -y utp ntpdate
#设置系统时间与网络时间同步
ntpdate cn.pool.ntp.org
#将系统时间写入硬件时间
hwclock --systohc
#服务器时区设置
timedatectl set-timezone Asia/Shanghai
[root@2c7180261d4f log]# ntpdate cn.pool.ntp.org
31 Mar 02:52:57 ntpdate[413]: step time server 119.28.206.193 offset 8.518012 sec
[root@2c7180261d4f log]# hwclock --systohc
[root@2c7180261d4f log]# timedatectl set-timezone Asia/Shanghai

14、启动rsyslog服务

[root@2c7180261d4f log]# rsyslogd
[root@2c7180261d4f log]#

15、查看系统日志文件

 

16、退出容器exit

17、ssh登录docker

 

 18、查看ssh连接日志