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

相关推荐
Apipi*34 分钟前
30天速通Linux 第九章Linux网络编程
linux·运维·网络
报错小能手1 小时前
Channel面试题。Sync面试题
linux·服务器·windows
xiaoqiMikko1 小时前
Linux 实战(五):DNS、hosts、CLOSE-WAIT、SSH 权限与改端口 —— 三台真机实测
linux·centos
Linux-lucky1 小时前
43-Linux学习之旅之Shell 脚本(二)
linux·运维·学习·ubuntu·dash
闭着眼刷牙1 小时前
pc接入rndis等网卡设备后卡死几分钟,已解决
windows
yv798an1 小时前
从 OpenSBI 引导到 C++17 异步运行时:自制 RISC-V 嵌入式专有 NAS 踩坑全记录
linux
不悔哥2 小时前
Linux系统编程多线程程序如何安全退出
linux
Fcy6482 小时前
Linux下 数据链路层详解(从以太网到ARP协议)
linux·mac·以太网·数据链路层·arp
‎ദ്ദിᵔ.˛.ᵔ₎4 小时前
linux 进程信号(下)
linux·运维·服务器
skywalk81634 小时前
在FreeBSD系统的linux仿真环境下安装和使用kiro 这个亚马逊的AI agent
linux·人工智能·freebsd·kiro