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, oder wenn Sie mehrere paralelle QF-Test Instanzen über den Daemon-Modus laufen lassen möchten.
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
