Benutzer-Werkzeuge

Webseiten-Werkzeuge


it-themen:windows:ssh_ueber_bastion-proxy

Dies ist eine alte Version des Dokuments!


zurĂĽck # SSH-Zugang ĂĽber Bastion Host unter Windows ohne Passwort

Dieser Eintrag beschreibt, wie unter Windows ein SSH-Zugang über einen Bastion-Host (Jump Host) eingerichtet wird, sodass Verbindungen zu internen Systemen ohne Passwort, ausschließlich über SSH-Key-Authentifizierung, möglich sind.

Die Anleitung basiert auf folgenden Zielen:

  • Anmeldung am Bastion Host ohne Passwort
  • Weiterleitung zu internen Servern automatisch ĂĽber `ProxyJump`
  • Nutzung einer sauberen `~/.ssh/config` fĂĽr komfortable Befehle wie

```

ssh bastion
ssh server1
ssh pihole

```

— ##1. Voraussetzungen

  • Windows 10/11 mit installiertem OpenSSH-Client
  • Ein erzeugtes SSH-SchlĂĽsselpaar (z. B. ED25519)
  • Zugriff auf den Bastion Host (öffentliche IP + SSH-Port)
  • Interne Systeme sind vom Bastion aus erreichbar

— ##2. SSH-Key unter Windows erzeugen

Falls noch kein Key vorhanden ist:

``` ssh-keygen -t ed25519 -C „windows-client“ ```

Die Dateien werden automatisch erstellt unter:

``` C:\Users\<Benutzer>\.ssh\id_ed25519 C:\Users\<Benutzer>\.ssh\id_ed25519.pub ```

Die Passphrase kann leer bleiben, wenn keine Eingabe gewĂĽnscht ist.

—

## 3. Public Key auf dem Bastion Host hinterlegen

Der öffentliche Schlüssel muss auf dem Bastion in:

``` ~/.ssh/authorized_keys ```

hinterlegt werden.

BeispielĂĽbertragung aus PowerShell:

``` type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh benutzer@bastion.fqdn -p <PORT> „mkdir -p ~/.ssh && cat » ~/.ssh/authorized_keys“ ```

Wichtig:

* Die Datei `authorized_keys` darf nur dem Benutzer selbst gehören * Rechte setzen:

``` chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys ```

—

## 4. Verbindung zum Bastion Host testen

``` ssh bastion ```

Erwartetes Verhalten:

* Keine Passwortabfrage * Anmeldung ĂĽber Public-Key * Stabiler SSH-Login

Falls der Key nicht akzeptiert wird: prĂĽfen, ob der richtige Public Key auf dem Bastion eingetragen wurde.

—

## 5. Konfiguration der Datei `~/.ssh/config` unter Windows

Unter Windows befindet sich die Datei hier:

``` C:\Users\<Benutzer>\.ssh\config ```

Beispielkonfiguration:

```sshconfig # Bastion Host Host bastion

  HostName bastion.example.com
  Port 58222
  User jumpuser
  IdentityFile C:/Users/<Benutzer>/.ssh/id_ed25519
  ServerAliveInterval 30
  ServerAliveCountMax 3

# Interne Hosts werden automatisch ĂĽber Bastion geroutet Host server1

  HostName 192.168.100.10
  User admin
  ProxyJump bastion
  IdentityFile C:/Users/<Benutzer>/.ssh/id_ed25519

Host pihole

  HostName 192.168.100.20
  User admin
  ProxyJump bastion
  IdentityFile C:/Users/<Benutzer>/.ssh/id_ed25519

```

Hinweise:

* Windows verwendet Schrägstriche `/` in Pfaden * Kein `ControlMaster` unter Windows verwenden (nicht kompatibel)

—

## 6. Verbindung zu internen Systemen nutzen

Durch die Config reichen nun einfache Befehle:

``` ssh server1 ssh pihole ```

Ablauf:

1. Windows verbindet automatisch zum Bastion Host 2. Authentifizierung erfolgt per SSH-Key 3. Der Zielserver wird ĂĽber einen Tunnel erreicht 4. Es erfolgt keine Passwortabfrage

—

## 7. Fehlersuche (Troubleshooting)

Problem Ursache Lösung
——————————————- ———————————– ————————————————-
*Permission denied (publickey)* Public Key fehlt oder falscher User Key erneut prĂĽfen, in `authorized_keys` eintragen
Verbindung nutzt Port 22 statt Bastion-Port Host-Name stimmt nicht ĂĽberein In `Host`-Block identischen Namen verwenden
„Not a socket“ / ProxyJump bricht ab Fehlerhafte config oder Troll-Proxy Config minimieren, Multiplexing entfernen
Passwort wird verlangt Passwortauth aktiviert Auf Bastion: `PasswordAuthentication no` setzen

—

## 8. Sicherheitshinweise

* Jeder Client sollte einen eigenen SSH-Key besitzen * Alte Keys regelmäßig aus `authorized_keys` entfernen * Datei-Rechte streng setzen (600 bzw. 700) * Optional: SSH-Zertifikate (CA-basiert) einsetzen, wenn viele Nutzer verwaltet werden

—

## 9. Zusammenfassung

Mit der oben beschriebenen Einrichtung ermöglicht Windows eine vollständig passwortlose SSH-Anmeldung über einen Bastion Host. Die Nutzung der `~/.ssh/config` vereinfacht die tägliche Arbeit erheblich und sorgt für sichere, wiederholbare Verbindungen — egal, ob zu extern erreichbaren Systemen oder internen Servern, die ausschließlich über den Bastion Host zugänglich sind.

it-themen/windows/ssh_ueber_bastion-proxy.1765470816.txt.gz · Zuletzt geändert: von lars