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

相关推荐
senijusene2 小时前
基于 imx6ull平台按键驱动开发:input子系统+中断子系统+platform总线
linux·驱动开发
莎士比亚的文学花园3 小时前
Linux驱动开发(1)——系统移植
linux·运维·服务器
PH = 73 小时前
OverlayFS联合文件系统使用示例
java·linux·服务器
AC赳赳老秦3 小时前
OpenClaw进阶技巧:批量修改文件内容、替换关键词,解放双手
java·linux·人工智能·python·算法·测试用例·openclaw
Joseph Cooper4 小时前
STM32MP157 Linux驱动学习笔记(四):典型总线与设备模型(SPI/USB)
linux·stm32·学习
坚持就完事了4 小时前
Linux中的mv命令
linux·运维·服务器
SongYuLong的博客4 小时前
Claude Code安装配置(Linux)
linux·运维·服务器
栈低来信5 小时前
kernel信号量源码分析
linux
结衣结衣.5 小时前
手把手教你实现文档搜索引擎
linux·c++·搜索引擎·开源·c++11
sdm0704276 小时前
进程间通信
linux·运维·服务器