Ab der Intel® Quartus® Prime Pro Edition Software Version 22.1 haben Sie die Möglichkeit, den Design Space Explorer II (DSE II) über den Windows OpenSSH-Server einzurichten.
1.
Der erste Schritt, um die DSE II mit OpenSSH zum Laufen zu bringen, ist die Installation von OpenSSH. Der OpenSSH-Serverdienst sollte auf dem Remote-Host installiert sein. Befolgen Sie die folgenden Anweisungen von Microsoft:
- https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_overview
- https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
- https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_server_configuration
Starten Sie PowerShell auf dem Remotehost als Administrator, und führen Sie den folgenden Befehl aus:
Start-Service sshd
Sie können den sshd-Dienst so konfigurieren, dass er immer mit dem folgenden Befehl gestartet wird:
Set-Service -Name sshd -StartupType 'Automatic'
Der sshd-Dienst erfordert eine Firewall-Regel, um Port 22 zuzulassen. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Regel hinzugefügt wurde, und fügen Sie den Befehl hinzu, falls er fehlt:
if (!( Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, enabled)) {
Schreib-Ausgabe "Firewall-Regel 'OpenSSH-Server-In-TCP' existiert nicht, erstellt sie..."
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Schreibausgabe "Die Firewall-Regel 'OpenSSH-Server-In-TCP' wurde erstellt und existiert."
}
Stellen Sie sicher, dass Sie mit dem Kennwort eine Verbindung zum Remote-Host herstellen können.
SSH <Benutzername>@<Remote-Hostname oder IP-Adresse>
Wenn Sie sich zum ersten Mal mit dem Remote-Host verbinden, werden Sie möglicherweise nach Ihrem Fingerabdruck gefragt. Akzeptieren.
2.
Der DSE II muss sich über den SSH-Schlüssel mit dem Remote-Host verbinden, um die Eingabe eines Passworts zu vermeiden. Richten Sie die schlüsselbasierte SSH-Authentifizierung mit den folgenden Schritten ein.
Führen Sie die ausführbare Datei ssh-keygen -t ed25519 auf localhost aus.
Dadurch wird der Schlüssel mithilfe des Algorithmus Ed25519 generiert. (ssh-keygen -t rsa -b 2048 ist eine Alternative).
Wenn Sie aufgefordert werden, den Namen der Schlüsseldatei zu speichern, geben Sie C:\Benutzer\<benutzername>\.ssh\<key_filename> ein. Wenn Sie zur Eingabe einer Passphrase aufgefordert werden, drücken Sie die Eingabetaste und lassen Sie das Feld leer.
(Zur Verbesserung der Sicherheit können Sie eine Passphrase eingeben. Wenn eine Passphrase verwendet wird, führen Sie ssh-agent aus und verwenden Sie ssh-add <privaten Schlüssel>.) ssh-keygen erstellt zwei Dateien, c:\Users\<username>\.ssh\<key_filename> und <key_filename>.pub.
Der <key_filename> ist der private Schlüssel, mit dem die DSE II eine Verbindung herstellen kann.
Um sich mit dem Schlüssel anzumelden, hängen Sie den Inhalt von <key_filename>.pub an die Datei c:\Users\<username>\.ssh>\authorized_keys auf dem Remote-Computer an. Wenn der Benutzer Mitglied der Administratorgruppe ist, fügen Sie den Inhalt dieser Datei auch zu C:\ProgramData\ssh\adminstrators_authorized_keys auf dem Remote-Host hinzu.
Sie können das Dienstprogramm scp verwenden, um den öffentlichen Schlüssel auf den Remote-Host zu kopieren.
scp C:\Benutzer\Benutzername\.ssh\id_ed25519.pub <user>@<remote host oder ip>:C:\Benutzer\<benutzername>\.ssh\authorized_keys
scp C:\Benutzer\Benutzername\.ssh\id_ed25519.pub <user>@<remote host oder ip>:C:\ProgramData\ssh\administrators_authorized_keys
Siehe Referenz: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
Stellen Sie sicher , dass der Benutzer ohne Kennwort eine Verbindung zum Remote-Host herstellen kann. Führen Sie auf dem lokalen Host den folgenden Befehl aus:
ssh -i C:\Benutzer\<Benutzername>\.ssh\<key_filename > -l <Benutzername> <Remote-Hostname oder IP-Adresse>
Wenn SSH Sie nach einem Benutzerkennwort fragt, versuchen Sie Folgendes.
Bearbeiten Sie auf dem Remote-Host C:\ProgramData\ssh\sshd_config
Kommentieren Sie die folgenden Zeilen aus:
#Match Group Adminstrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Fügen Sie die folgende Zeile hinzu, um Benutzern Folgendes zu ermöglichen:
AllowGroup-Benutzer
Starten Sie den sshd-Dienst neu. Führen Sie auf dem Remotehost PowerShell als Administrator aus, und führen Sie den folgenden Befehl aus:
Restart-Service SSHD
Weitere Details finden Sie hier: https://man.openbsd.org/ssh
3.
Ändern Sie für die Intel® Quartus® Prime Pro Edition Software v22.1 das SSH-Verbindungsskript der DSE II. In einer zukünftigen Version wird dieser Schritt nicht mehr erforderlich sein.
Ändern Sie die <quartus-Installation root>/quartus/ common/python/lib/site-packages/quartus/dse/plugins/farms/ssh_job_template.sh.
In diesem Beispiel wird die Intel® Quartus® Prime Pro Edition Software auf C:\intelFPGA_pro\22.1 installiert und der Pfad darauf festgelegt. Passen Sie den Pfad so an, dass er mit dem Installationspfad der Intel® Quartus® Prime Pro Edition Software auf dem Remote-Host übereinstimmt:
echo erfolgreich verbunden
echo Umgebungsvariablen einrichten
Set QUARTUS_ROOTDIR=$quartus_rootdir
set PATH=C:\intelFPGA_pro\22.1\quartus\bin64;%PATH%
$lm_Lizenzdatei
echo Wechsel zum anfänglichen Arbeitsverzeichnis
CD $iwd
echo: Bereit zum Starten der quartus_worker
$quartus_worker_command
4. Führen Sie die DSE II mit SSH aus.
Starten Sie die DSE II-GUI. Projekt öffnen. Klicken Sie auf Setup. Wählen Sie Remote: SSH aus.
Geben Sie den Hostnamen des Remote-Rechners oder die IP-Adresse des Remote-Rechners an.
Geben Sie den Benutzer an. Wenn sich der Benutzername lokal von dem in der Remote-Umgebung unterscheidet.
SSH-Client, geben Sie ssh ein
Geben Sie die private_key an: C:\Benutzer\<benutzername>\.ssh\<key_filename>.
Geben Sie den Pfad von Intel® Quartus Prime auf dem Remote-Rechner an: Beispiel: C:\intelFPGA_pro\22.1\quartus®
Geben Sie das Farmbetriebssystem an: windows.
Zuordnung von lokalem zu Remote-Pfad. C:\; C:/.
Ursprüngliches Arbeitsverzeichnis.
Geben Sie das Verzeichnis an, in dem der Remote-Rechner in C:\ gestartet werden soll.
Klicken Sie auf Start , um mit der Remote-Kompilierung oder -Untersuchung zu beginnen.
Wenn Sie die folgende Fehlermeldung erhalten:
"Fehler: [Errno 11001] getaddrinfo ist fehlgeschlagen.
Das Gerät ist nicht in der Lage, die IP-Adresse des lokalen Hosts abzurufen. Gehen Sie in den DSE II-Servereinstellungen in das Feld Host und geben Sie die IPv4-Adresse des lokalen Rechners ein.