Windows 上通过 SSH 连接 Ubuntu 上的 Docker

在 Windows 上通过 SSH 连接 Ubuntu 上的 Docker,完整的步骤如下:

前提条件

  • Ubuntu 服务器上已经安装 Docker 并正在运行。
  • Windows 上安装了 SSH 客户端(Windows 10 及以上版本可以直接使用 PowerShell 或命令提示符中的 SSH)。
  • Windows 上已生成 SSH 密钥对,或者你可以生成一个新密钥对。

步骤 1:在 Windows 上生成 SSH 密钥对

如果还没有 SSH 密钥对,可以通过以下步骤生成一个:

  1. 打开 PowerShell命令提示符,输入以下命令:
    ssh-keygen -t rsa -b 4096
    
  2. 按提示保存私钥文件(通常保存在 C:\Users\<YourUsername>\.ssh\id_rsa),也可以设置密钥的密码(可选)。
  3. 密钥生成完毕后,公钥文件通常会保存在 C:\Users\<YourUsername>\.ssh\id_rsa.pub 路径下。

步骤 2:将公钥复制到 Ubuntu 服务器

  1. 使用 SSH 工具将公钥复制到 Ubuntu 服务器的 authorized_keys 文件中。

    可以使用以下命令将公钥上传到服务器(假设你已经知道 Ubuntu 服务器的 IP 地址和用户名):

    ssh-copy-id -i C:\Users\<YourUsername>\.ssh\id_rsa.pub username@ubuntu_server_ip
    

    如果没有安装 ssh-copy-id 工具,也可以手动将公钥内容复制到 Ubuntu 服务器上。

    手动步骤:

    1. 打开公钥文件 id_rsa.pub,将其内容复制。
    2. SSH 登录 Ubuntu 服务器:
      ssh username@ubuntu_server_ip
      
    3. 在 Ubuntu 服务器上创建或编辑 ~/.ssh/authorized_keys 文件,并将公钥内容粘贴到其中:
      mkdir -p ~/.ssh
      echo "your-public-key-content" >> ~/.ssh/authorized_keys
      chmod 600 ~/.ssh/authorized_keys
      

步骤 3:配置 Ubuntu 服务器的 SSH 设置

确保 Ubuntu 服务器上的 SSH 服务正常工作,并支持公钥认证。

  1. 编辑 SSH 配置文件:
    sudo nano /etc/ssh/sshd_config
    
  2. 确保以下配置项未被注释并设置为如下值:
    PubkeyAuthentication yes
    PasswordAuthentication no  # 禁用密码登录
    
  3. 保存并退出,重新启动 SSH 服务:
    sudo systemctl restart ssh
    

步骤 4:通过 Windows SSH 连接到 Ubuntu Docker

在 Windows 上打开 PowerShell命令提示符,使用 SSH 私钥连接 Ubuntu 服务器。

  1. 使用以下命令连接到 Ubuntu:

    ssh -i C:\Users\<YourUsername>\.ssh\id_rsa username@ubuntu_server_ip
    
  2. 成功连接到 Ubuntu 服务器后,确保 Docker 已启动,执行以下命令来验证:

    docker ps
    

步骤 5:在 Windows 上配置 Docker 客户端(可选)

如果你想直接从 Windows 上管理 Ubuntu 上的 Docker,可以安装并配置 Windows 端的 Docker 客户端。

  1. 安装 Docker 客户端:确保 Windows 上已安装 Docker Desktop,或者通过 SSH 直接控制 Ubuntu 上的 Docker。
  2. 配置 Docker Daemon
    在 Ubuntu 上确保 Docker 支持远程 API。编辑 Docker 服务文件 /lib/systemd/system/docker.service,将 ExecStart 行修改如下(如果要开启 TCP 监听):
    ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375
    
    然后重新加载并重启 Docker:
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
  3. 通过 Windows 连接 Docker
    在 Windows 上通过 SSH 连接到 Ubuntu,并使用 docker 命令控制远程 Docker 实例。也可以直接通过 Docker Desktop 配置远程 Docker 主机。

这样,你就可以从 Windows 上通过 SSH 连接到 Ubuntu 上的 Docker,并进行管理了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值