ssh连接docker容器
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连接日志