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 跑出的漏洞简报了。

相关推荐
wsad05321 天前
CentOS Stream 10 配置静态 IP 完整指南
linux·tcp/ip·centos
Ai拆代码的曹操1 天前
K8s 实战:CrashLoopBackOff 状态下 kubectl logs 拿不到日志的三层排查方案
linux·docker·kubernetes
tedcloud1231 天前
Kimi-K3 部署指南:大模型应用开发环境搭建实践
linux·运维·服务器·开源·音视频
深念Y1 天前
ZTE_UZ901_NVRAM经验总结
linux·服务器·网络·嵌入式硬件·嵌入式·随身wifi
似水এ᭄往昔1 天前
【Linux网络编程】--TCP_Socket
linux·网络·tcp/ip
wuminyu1 天前
JUC包的AQS与JVM的ObjectMonitor机制对比分析
java·linux·c语言·jvm·c++
闲云自留地1 天前
课后作业-20260806-Linux iSCSI服务器
linux·运维·服务器
.冰块.1 天前
P-SAN 实战:CentOS7 搭建 iSCSI Target 共享块存储
linux·服务器·iscsi
Kina_C1 天前
Keepalived 单播模式实战:跨网络高可用的关键配置
linux·服务器·网络·keepalived
m0_743697591 天前
磁盘管理的相关知识
linux