Mit QF-Test 10 ist es möglich, KI-Modelle von Drittanbietern wie GitHub Copilot in QF-Test zu integrieren. Im Fall von Copilot ist es dafür normalerweise nötig, Copilot CLI auf dem gleichen System wie QF-Test installiert zu haben.
Es gibt aber Situationen, wo sie Copilot CLI aus technischen Gründen oder Sicherheitsgründen nicht auf Ihren Testmaschinen installieren können.
Für solche Fälle zeigt Ihnen dieser Gastbeitrag von langjährigem QF-Test Anwender Irfan Yigit, wie Sie Copilot auf nur einer zentralen Maschine aufsetzen und eine SSH-Netzwerkverbindung zu Ihren Testmaschinen herstellen können. Dann können Sie Ihre GitHub Copilot KI-Modelle über SSH mit QF-Test nutzen.
Voraussetzung
Um dieses Vorhaben auf einem Windows-System zu realisieren, wird OpenSSH benötigt. Daher muss zwingend OpenSSH auf der Client-VM und der Ziel-VM installiert sein.
Auf der Client-VM muss zusätzlich QF-Test (10.0 oder neuer) installiert sein. Auf der Ziel-VM muss eine aktuelle GitHub Copilot-CLI-Installation existieren und das GitHub-Login (/login) in der SSH-Umgebung durchgeführt worden sein.
Um GitHub Copilot-CLI per Remote (SSH) reibungslos nutzen zu können, wird ein SSH-Key zwingend benötigt, weil OpenSSH bei automatisierten Remote-Aufrufen via SSH (wie z.B. aus QF-Test heraus) keine SSH-Passwort-Prompts bedienen kann. SSH-Key-Authentifizierung wird benötigt, um eine passwortlose, stabile SSH-Verbindung herzustellen.
Schritt-für-Schritt-Anleitung
Vorbereitung auf der Client-VM
1. .ssh-Verzeichnis anlegen (falls nicht vorhanden, z. B. C:\Users\Administrator\.ssh)
New-Item -ItemType Directory -Path "$env:USERPROFILE\.ssh" -Force | Out-Null
2. SSH-Key (ed25519) auf der Client-VM erzeugen (ohne Passphrase)
ssh-keygen -t ed25519 -C "qftest-remote" -f "$env:USERPROFILE\.ssh\id_ed25519"
- Passphrase einfach leer lassen (zweimal Enter).
- Der erzeugte öffentliche Key (
…/.ssh/id_ed25519.pub) wird später auf der Ziel-VM benötigt.
Vorbereitung auf der Ziel-VM
1. Access Control Lists (ACL) korrekt setzen
Windows OpenSSH akzeptiert Schlüssel nur, wenn die Datei an der richtigen Stelle liegt und die Berechtigungen mit korrekten ACLs gesetzt sind. Die Datei C:\ProgramData\ssh\administrators_authorized_keys wird wie folgt erstellt und abgesichert:
icacls C:\ProgramData\ssh\administrators_authorized_keys /inheritance:r
icacls C:\ProgramData\ssh\administrators_authorized_keys /grant 'Administrators:F'
icacls C:\ProgramData\ssh\administrators_authorized_keys /grant 'SYSTEM:F'
Restart-Service sshd
2. Public-Key eintragen
Den Inhalt der id_ed25519.pub von der Client-VM in die Datei administrators_authorized_keys auf der Ziel-VM einfügen und speichern (jeweils zeilenweise).
3. Copilot-CLI in der SSH-Umgebung auf der Ziel-VM einmalig anmelden
Copilot speichert seine Login-Daten lokal im jeweiligen Benutzerprofil. Das Login muss zuvor durchgeführt worden sein – entweder direkt auf der Ziel-VM oder per SSH, je nachdem ob unterschiedliche Windows-Benutzer verwendet werden.
Nach erfolgreich gespeichertem Copilot-Login in der SSH-Umgebung kann Copilot vollständig skriptgesteuert per Remote (via SSH) aus QF-Test heraus ausgeführt werden.
Folgende Eingabe in PowerShell ist nötig, wenn alle Client-VMs mit dem gleichen Benutzer und der gleichen SSH-Umgebung interagieren sollen:
- SSH direkt auf die Ziel-VM:
ssh -i ~/.ssh/id_ed25519 Administrator@<Ziel-IP> - Copilot starten:
copilot - Login starten:
/login - Den Device-Code im Browser bestätigen.
Funktionstest (Client-VM → Ziel-VM, headless)
Auf der Client-VM folgenden Befehl in PowerShell ausführen:
ssh -i ~/.ssh/id_ed25519 Administrator@<Ziel-IP> "copilot -p 'Sag Hallo' --stream on"
Troubleshooting
SSH-Key-Login von der Client-VM aus testen
Sicherstellen, ob SSH ohne Passwort mit SSH-Key funktioniert (Voraussetzung für QF-Test):
ssh -i $env:USERPROFILE\.ssh\id_ed25519 Administrator@<Ziel-IP> 'echo OK'
- Wenn
OKerscheint → Key-Authentifizierung funktioniert. - Wenn Fehler: SSH-Keys oder ACLs auf der Ziel-VM prüfen.
Copilot-CLI über SSH an QF-Test anbinden
Sobald alles funktioniert folgen Sie dieser Anleitung ab Schritt 2:
Machen Sie lediglich die folgende Anpassung am ai.addCustomModel-Skript (fügen Sie den für Sie passenden User, Pfad und IP ein):
ai.addCustomModel("GitHub Copilot", (msg) -> {
def remoteUser = "Administrator"
def remoteHost = "192.168.0.2" // IP of target VM
def remoteCmd = "cmd /c \"C:/Users/Administrator/AppData/Local/GitHubCopilotCLI/copilot.exe --silent --stream off --model claude-sonnet-4.6 --prompt \\\"${msg}\\\"\""
def cmd = [
"ssh",
"-o",
"StrictHostKeyChecking=no",
"${remoteUser)@${remoteHost)",
remotecmd
]
def proc = cmd.execute()
proc.outputStream.close()
proc.waitFor()
return proc.in.text.replace("● ", "")
})
Erfahren Sie mehr über die KI-Integrationen in QF-Test 10:

Max Melzer
