天天看点

使用Docker 实现ssh免密登录

  1. 准备镜像

    docker pull centos

  2. 启动容器

    docker run --name local_centos -d -it IMAGE ID /bin/bash

  3. 安装sshd

    yum update -y && yum install -y openssh-client openssh-server

  4. 打包生成镜像

    exit

docker commit -a 'jun' -m 'my self local use' IMAGE ID local_centos7:v1

#生成镜像

  1. 启动容器,并创建用户

    docker images | grep centos

    #查看刚生成的镜像

local_centos7 v1 c4424427c97f About a minute ago 348MB

docker run --name vhost_centos7 -d -it c4424427c97f /bin/bash

docker exec -it vhost_centos7 /bin/bash

/usr/sbin/sshd

#启动sshd 会产生一下错误

ssh_host_ed25519_key not fund

别紧张,直接生成便可

ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key

useradd wukong

#添加用户

passwd wukong

#修改密码

  1. 本地生成密钥

    ssh-keygen

    #如没有特殊需求一路回车便可以
  2. 上传到容器,开始免密登录

    ssh-copy-id -i ~/.ssh/id_rsa.pub -p 5022 [email protected]

    #然后输入密码

ssh -i ~/.ssh/id_ras -p 5022 [email protected]

#便可以登录成功了