Windows 10 与 Kali Linux SSH 免密互信配置指南

为了实现 Kali (OpenClaw/Agent) 自动将审计报告"空投"到 Windows (Obsidian),我们需要打通 SSH 免密互信。由于 Windows 的安全策略与 Linux 不同,请严格按照以下经过实操验证的步骤执行:


🛠️ Windows 10 与 Kali Linux SSH 免密互信配置指南

第一阶段:Windows 宿主机环境准备

目标: 安装并开启 OpenSSH Server,并修复权限逻辑。

  1. 安装 OpenSSH Server

    管理员身份 打开 PowerShell,执行:

    powershell 复制代码
    # 安装服务器组件
    Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
    
    # 启动服务并设置自启
    Start-Service sshd
    Set-Service -Name sshd -StartupType 'Automatic'
    
    # 开放防火墙 22 端口
    New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -LocalPort 22 -Action Allow
  2. 修改关键配置文件 (至关重要)

    Windows 默认会拦截管理员账户的 authorized_keys,必须手动关闭此限制:

    • 输入 notepad C:\ProgramData\ssh\sshd_config

    • 拉到文件最底部 ,在以下两行前加上 # 注释掉:

      text 复制代码
      # Match Group administrators
      #        AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
    • 保存并重启服务:Restart-Service sshd


第二阶段:Kali 客户端密钥生成与投送

目标: 生成身份勋章并送往 Windows。

  1. 生成 SSH 密钥对 (如果已有则跳过)

    在 Kali 终端执行:

    bash 复制代码
    ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsa
  2. 手动创建 Windows 端的密钥接收文件

    回到 Windows 管理员 PowerShell,执行:

    powershell 复制代码
    mkdir -Force $HOME\.ssh
    New-Item -ItemType File -Name "$HOME\.ssh\authorized_keys" -Force
    
    # 严格限制权限(Windows SSH 要求此文件只能由 System 和当前用户访问)
    icacls "$HOME\.ssh\authorized_keys" /inheritance:r
    icacls "$HOME\.ssh\authorized_keys" /grant "SYSTEM:(F)"
    icacls "$HOME\.ssh\authorized_keys" /grant "${env:USERNAME}:(F)"
  3. 从 Kali 将公钥"空投"过去

    在 Kali 终端执行(将 192.168.1.7 替换为你的宿主机 IP):

    bash 复制代码
    # 使用 SCP 覆盖 Windows 上的密钥文件
    scp ~/.ssh/id_rsa.pub wangzhenye@192.168.1.7:C:/Users/wangzhenye/.ssh/authorized_keys

    此时需最后输入一次 Windows 密码。


第三阶段:互信验证与自动化测试

目标: 确认不再需要密码,并接入 OpenClaw 流程。

  1. 免密测试

    在 Kali 终端执行:

    bash 复制代码
    ssh wangzhenye@192.168.1.7

    若直接进入 C:\Users\wangzhenye> 提示符而未弹密码,则互信成功。

  2. OpenClaw 自动化指令模板

    在 OpenClaw Web 界面输入,验证全链路:

    "SSH 免密已就绪。请执行:

    1. 执行 ls -la /home/kali/ 并保存到 .openclaw/reports/sync_test.md
    2. 使用 scp 将该报告发送至 C:/Users/wangzhenye/Documents/Obsidian/
    3. 完成后报告状态。"

⚠️ 常见坑点排查

  • 连接超时/拒绝: 检查 Windows 防火墙是否允许 TCP 22 端口,或尝试使用 VMnet8 的 NAT 网关 IP(如 192.168.x.1)。
  • 依然要密码: 检查 sshd_config 底部的两行是否真的被 # 注释掉了,以及 Restart-Service sshd 是否执行。
  • 乱码问题: Windows SSH 登录后的乱码是由于编码格式不同,不影响 scp 文件的完整性。

Vibe Tip: 建议在 Obsidian 中创建一个专门的 Pentest_Reports 文件夹,并将 scp 的目标路径指向那里,配合 Google Drive,你就能在手机上实时收到 Kali 跑出的漏洞简报了。

相关推荐
0xDevNull2 小时前
Linux服务器日志查看完全指南
linux·运维·服务器
songx_992 小时前
Linux基础1
linux·运维·服务器
蓝天居士2 小时前
cpio命令详解(3)
linux·cpio
菱玖2 小时前
Linux 系统性能排查常用指令
linux·运维·服务器
huangwxiao2 小时前
HTB——Oopsie
linux·网络安全·htb
i建模2 小时前
华为MateBook X Pro 2020款在Ubuntu系统中提升音质
linux·ubuntu·华为
皮卡蛋炒饭.2 小时前
进程间通信
linux·运维·服务器
艾莉丝努力练剑2 小时前
【Linux系统:信号】线程安全不等于可重入:深度拆解变量作用域与原子操作
java·linux·运维·服务器·开发语言·c++·学习
楼田莉子2 小时前
同步/异步日志系统:日志的工程意义及其实现思想
linux·服务器·开发语言·数据结构·c++