windows10从外部ssh连接Docker容器

本文详细介绍了如何在Windows 10中通过WSL连接Docker容器的SSH服务。首先,启动带有SSH服务的容器并暴露端口,接着检查并安装SSH服务,配置允许root登录和密码认证,然后设置root密码。获取Windows IP地址后,通过SSH命令连接到容器。此过程适用于系统版本1709及以上。
摘要由CSDN通过智能技术生成

本文使用WSL连接容器,不过win10 1709以上版本已经自带ssh了,DOS窗口直接输入ssh命令即可。

一、启动新容器,并为该容器暴露端口:

示例:以本机上的一个镜像centos7.4-ansible2.9.25为例,在该windows上暴露了40000端口,对应容器22端口:

  1. 后台启动:docker run -d --privileged=true -p 40000:22 centos7.4-ansible2.9.25 /usr/sbin/init
    此处示例的40000端口就是最后连接容器要用的端口。

    返回了一个容器id接下来要用到,来进入容器。
    docker ps 也可以查询

二、检查容器中是否安装了ssh服务:

  1. 进入容器:
    docker exec -it 容器id /bin/bash

  2. rpm -qa | grep ssh查询是否安装了ssh服务

  3. 未安装则:

    yum install -y openssh-server # 本机被连接需要安装
    yum install -y openssh-clients # 连接别的服务器本机需要安装
    
  4. 确保容器中的sshd配置文件以下2项配置为yes
    vi /etc/ssh/sshd_config

    PermitRootLogin yes  # 允许root身份登录
    PasswordAuthentication yes  # 登录该主机需要提供密码
    
  5. 容器中启动sshd服务:
    systemctl start sshd.service

  6. 查看sshd服务是否启动:
    systemctl status sshd.service

三、此时容器可能没有设置root密码:

  1. 输入命令passwd设置密码,用于从外部访问。

四、获取本机win10 IP地址:

  1. DOS命令中输入ipconfig
    在这里插入图片描述

五、进入wsl中执行:

ssh -p 40000 root@windows_ip即可连接到容器中:
在这里插入图片描述

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值