Skip to main content

SSH ID unter Windows kopieren

Du hast unter Windows mehrere Möglichkeiten, dir das Linux-Tool ssh-copy-id zu “klonen” bzw. dessen Funktionalität nachzubauen:


1. Über Git Bash oder WSL direkt das Original nutzen

  1. Git for Windows installieren (git-scm.com).

  2. Git Bash öffnen – dort ist ssh-copy-id in der Regel bereits enthalten:

    ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host
    

    Das kopiert deinen Public Key automatisch nach ~/.ssh/authorized_keys auf dem Zielserver.

  3. Oder WSL (Windows Subsystem for Linux):

    • In PowerShell als Admin:

      wsl --install
      
    • Danach unter Ubuntu/etc. per

      sudo apt update && sudo apt install openssh-client
      ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host
      

2. Eigenes Powershell-Skript als „ssh-copy-id“ nachbauen

Wenn du keine Unix-Umgebung installieren willst, kannst du in deinem PowerShell-Profil ($PROFILE) eine Funktion anlegen:

function Copy-SshKey {
    [CmdletBinding()]
    param(
        [Parameter(Mandatory)]
        [string]$UserAtHost,                      # z.B. "alice@server.example.com"
        [string]$KeyFile = "$HOME\.ssh\id_rsa.pub" # Pfad zum Public Key
    )

    # Key einlesen
    $pubKey = Get-Content $KeyFile -Raw

    # Auf dem Remote-Host das .ssh-Verzeichnis anlegen und Key anhängen
    ssh $UserAtHost "mkdir -p ~/.ssh && echo '$pubKey' >> ~/.ssh/authorized_keys"
}
  1. Öffne PowerShell und lade dein Profil neu mit:

    . $PROFILE
    
  2. Führe dann aus:

    Copy-SshKey -UserAtHost "alice@server.example.com"
    

3. Das offizielle Skript aus GitHub klonen

Es gibt ein reines Shell-Skript von Kevin Burke, das du einfach unter Windows in Git Bash oder WSL nutzen kannst:

  1. Verzeichnis anlegen und klonen:

    mkdir C:\tools\ssh-copy-id
    cd C:\tools\ssh-copy-id
    git clone https://github.com/kevinburke/ssh-copy-id.git .
    
  2. (Optional) C:\tools\ssh-copy-id in deine PATH-Umgebungsvariable aufnehmen, damit ssh-copy-id überall verfügbar ist.

  3. In Git Bash oder WSL aufrufen:

    ssh-copy-id -i ~/.ssh/id_ed25519.pub alice@server.example.com
    

Zusammenfassung

  • Einfachster Weg: Git Bash oder WSL installieren und das vorhandene ssh-copy-id nutzen.

  • Windows-Native: Mit einer kleinen PowerShell-Funktion das Key-Kopieren automatisieren.

  • Skript-Klon: Das offizielle Shell-Skript aus GitHub klonen und in PATH legen.

Wähle die Methode, die am besten zu deinem Workflow passt!