【win | docker开启远程配置】使用 SSH 隧道访问 Docker的前操作

在主机A pycharm如何连接远程主机B win docker? 需要win docker配置什么?

快捷配置-主机B win OpenSSH SSH Server

https://blog.csdn.net/z164470/article/details/121683333

win+R,打开命令行,输入net start sshd,启动SSH。

或者右击我的电脑,找到OpenSSH SSH Server , 右击打开属性,更改状态为启动即可。

概述

OpenSSH Server 已作为 Windows 10/11 及 Windows Server 2019/2022 的可选功能内置提供,可直接安装使用。 (Microsoft Learn)

除了 GUI 安装方式外,还可在管理员权限的 PowerShell 中使用 Add-WindowsCapability 命令进行安装。 (Microsoft Learn)

安装完成后,需要将 sshdssh-agent 两个服务设置为"自动"启动并启动它们,确保 SSH 服务随系统启动。 (Microsoft Learn)

首次启动后,系统会在 %ProgramData%\ssh 目录下生成 sshd_config 配置文件和主机密钥。 (体验联盟)


1. 通过 GUI 在"设置"中安装

  1. 打开 设置 ,依次选择 应用可选功能 (Windows 11 下为 系统可选功能 )。 (Microsoft Learn)

  2. 点击 添加功能 (Windows 11 为 查看功能 )。 (Vultr 文档) 右击我的电脑,找到OpenSSH SSH Server , 右击打开属性,更改状态为启动即可。

  3. 在搜索框输入 "OpenSSH",找到 OpenSSH Server ,然后点击 安装 。 (WinSCP - Free SFTP and FTP client)

  4. 等待安装完成后,打开 服务 应用(Win+R 输入 services.msc 回车)。 (Microsoft Learn)

  5. 在列表中双击 OpenSSH SSH Server ,将 启动类型 设置为 自动 ,然后点击 确定 。 (Microsoft Learn)

  6. 在同一位置点击 启动 ,以立即启动 SSH 服务。 (Microsoft Learn)


2. 通过 PowerShell 命令行安装

  1. 以管理员权限运行 PowerShell 窗口。 (Microsoft Learn)

  2. 运行以下命令,检查 OpenSSH Server 是否已列出且状态为 NotPresent:

    powershell 复制代码
    Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH.Server~~~~0.0.1.0'

    (Microsoft Learn)

  3. 如果未安装,执行以下命令进行安装:

    powershell 复制代码
    # 安装 OpenSSH Server
    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0

    (Microsoft Learn)

  4. 安装完成后,PowerShell 会返回 Online : True,表示无需重启即可使用。 (Microsoft Learn)


3. 配置并启动 SSH 服务

  1. 在同一管理员 PowerShell 窗口,运行以下命令启动并设置 sshd 服务自动启动:

    powershell 复制代码
    # 启动 sshd 服务
    Start-Service sshd  
    # 推荐设置为自动启动
    Set-Service -Name sshd -StartupType 'Automatic'

    (Microsoft Learn)

  2. 可选地,启动并设置 ssh-agent 服务自动启动:

    powershell 复制代码
    Start-Service ssh-agent  
    Set-Service -Name ssh-agent -StartupType 'Automatic'

    (Microsoft Learn)

  3. 确认系统已自动创建并启用防火墙规则允许 TCP 22 端口入站:

    powershell 复制代码
    if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue)) {
        New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
    }

    (Microsoft Learn)


4. 验证安装

安装并启动服务后,可从另一台机器使用 SSH 客户端进行连接测试:

bash 复制代码
ssh <用户名>@<主机B_IP>

连接时若首次提示"主机密钥未知",输入 yes 即可将其加入信任列表。 (Microsoft Learn)