# sinastragenaro-adm/kali-windows-ssh-lab architecture

> Architecture diagram of the GitHub repository sinastragenaro-adm/kali-windows-ssh-lab, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-09). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/sinastragenaro-adm/kali-windows-ssh-lab
- Repository: https://github.com/sinastragenaro-adm/kali-windows-ssh-lab

## Overview

This repository documents a hands-on Kali-to-Windows SSH administration lab, rather than implementing a runtime application. Its principal workflow is to generate an Ed25519 key pair on Kali, configure Windows OpenSSH and its firewall, test network and TCP/22 reachability, then authenticate and open a PowerShell session. The graph reflects the README’s documented steps; no source excerpts were provided, so relationships are based on that documentation only.

Main entry points: [`README.md`](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md) (OpenSSH service), [`commands/kali.md`](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/commands/kali.md) (SSH client), [`docs/troubleshooting.md`](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/docs/troubleshooting.md) (Troubleshooting), [`docs/arquitectura.md`](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/docs/arquitectura.md) (Lab architecture)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["Kali client"]
  node_keygen["Key generation<br/>[README.md]"]
  node_privatekey["Private key<br/>[README.md]"]
  node_sshclient["SSH client<br/>[kali.md]"]
end

subgraph group_server["Windows server"]
  node_openssh["OpenSSH service<br/>[README.md]"]
  node_authorizedkeys["Authorized keys<br/>[README.md]"]
  node_firewall["Windows Firewall<br/>[README.md]"]
  node_powershell["Remote PowerShell"]
end

subgraph group_operations["Lab procedures"]
  node_connectivity["Reachability tests<br/>[README.md]"]
  node_troubleshooting["Troubleshooting<br/>[troubleshooting.md]"]
  node_architecture["Lab architecture<br/>[arquitectura.md]"]
end

node_kali(("Kali Linux"))
node_windows["Windows host"]

node_kali -->|"generates keys"| node_keygen
node_keygen -->|"keeps private"| node_privatekey
node_kali -->|"tests reachability"| node_connectivity
node_connectivity -->|"probes TCP/22"| node_windows
node_kali -->|"starts SSH"| node_sshclient
node_sshclient -->|"connects over SSH"| node_openssh
node_openssh -->|"verifies key"| node_authorizedkeys
node_firewall -->|"allows TCP/22"| node_openssh
node_openssh -->|"opens session"| node_powershell
node_troubleshooting -->|"diagnoses tests"| node_connectivity
node_troubleshooting -->|"checks service"| node_openssh
node_architecture -->|"documents client"| node_sshclient
node_architecture -->|"documents server"| node_openssh

click node_keygen "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md"
click node_privatekey "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md"
click node_connectivity "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md"
click node_sshclient "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/commands/kali.md"
click node_openssh "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md"
click node_authorizedkeys "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md"
click node_firewall "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md"
click node_powershell "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/commands/windows-powershell.md"
click node_troubleshooting "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/docs/troubleshooting.md"
click node_architecture "https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/docs/arquitectura.md"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_keygen,node_privatekey,node_sshclient toneBlue
class node_openssh,node_authorizedkeys,node_firewall,node_powershell toneAmber
class node_connectivity,node_troubleshooting,node_architecture toneMint
class node_kali,node_windows toneIndigo
```

## Components

### Kali client

- [Key generation](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md): `README.md`
- [Private key](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md): `README.md`
- [SSH client](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/commands/kali.md): `commands/kali.md`

### Windows server

- [OpenSSH service](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md): `README.md`
- [Authorized keys](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md): `README.md`
- [Windows Firewall](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md): `README.md`
- [Remote PowerShell](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/commands/windows-powershell.md): `commands/windows-powershell.md`

### Lab procedures

- [Reachability tests](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/README.md): `README.md`
- [Troubleshooting](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/docs/troubleshooting.md): `docs/troubleshooting.md`
- [Lab architecture](https://github.com/sinastragenaro-adm/kali-windows-ssh-lab/blob/main/docs/arquitectura.md): `docs/arquitectura.md`

### Other components

- **Kali Linux**
- **Windows host**

## Connections

- Kali Linux → Key generation: generates keys (evidence: `README.md`)
- Key generation → Private key: keeps private (evidence: `README.md`)
- Kali Linux → Reachability tests: tests reachability (evidence: `README.md`)
- Reachability tests → Windows host: probes TCP/22 (evidence: `README.md`)
- Kali Linux → SSH client: starts SSH (evidence: `README.md`)
- SSH client → OpenSSH service: connects over SSH (evidence: `README.md`)
- OpenSSH service → Authorized keys: verifies key (evidence: `README.md`)
- Windows Firewall → OpenSSH service: allows TCP/22 (evidence: `README.md`)
- OpenSSH service → Remote PowerShell: opens session (evidence: `README.md`)
- Troubleshooting → Reachability tests: diagnoses tests (evidence: `README.md`)
- Troubleshooting → OpenSSH service: checks service (evidence: `README.md`)
- Lab architecture → SSH client: documents client (evidence: `README.md`)
- Lab architecture → OpenSSH service: documents server (evidence: `README.md`)
