采用SSH登录docker镜像(基于Centos)

  • 检查容器中有没有安装ssh服务:rpm -qa | grep ssh
  • 如果没有安装ssh服务: yum install openssh-server
    • centos配置软件源方法:
    • # 查看系统存在到软件源
      yum repolist all
      # 备份旧到软件源
      cd /etc/yum.repos.d
      mv CentOS-Base.repo CentOS-Base.repo.bak
      # 设置新的软件源
      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    • 清理缓存
      • yum clean all
      • yum makecache
  • 在镜像里安装好ssh服务后,对ssh配置文件进行配置
    •  vi /etc/ssh/sshd_config
    • 启用Port 22
    • 启用RSAAuthentication yes
    • 启用PubkeyAuthentication yes
    • 启用AuthorizedKeysFile .ssh/authorized_keys
    • 启用PermitRootLogin yes
  • 开启ssh服务:/bin/systemctl start sshd.service 
    • 如果出现Failed to get D-Bus connection: Operation not permitted问题:
      • docker run --name eureca --gpus all -it --rm --privileged --shm-size='32g' -v /data/code:/opt/project --entrypoint='/usr/sbin/init'  image_name  (PS:这行命令执行完后,需要另打开一个终端执行下一行命令)
      • docker exec -it eureca /bin/bash
      • 在镜像中执行/bin/systemctl start sshd.service 
  • 检查ssh服务是否开启:
    • ps  -ef | grep ssh
    • netstat -an |grep 22
  • 将ssh服务添加到自启动列表中
    • systemctl enable sshd.service
  • 配置ssh免密登录docker
    • 将host主机下id_rsa.pub内容复制到docker中/root/.ssh/auhorized_keys文件中(ps:如果没有/root/.ssh目录,则直接创建该目录即可;auhorized_keys文件亦是如此。
    • ssh root@ip地址
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值