À partir de la version 22.1 du logiciel Intel® Quartus® Prime Pro Edition, vous avez la possibilité de configurer Design Space Explorer II (DSE II) à l’aide du serveur Windows OpenSSH.
1.
La première étape pour que le DSE II fonctionne avec OpenSSH est d’installer OpenSSH. Le service de serveur OpenSSH doit être installé sur l’hôte distant. Reportez-vous aux instructions suivantes de 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
Sur l’hôte distant, démarrez PowerShell en tant qu’administrateur et exécutez la commande :
sshd Start-Service
Vous pouvez configurer le service sshd pour qu’il démarre toujours à l’aide de la commande suivante :
Set-Service -Name sshd -StartupType 'Automatique'
Le service sshd nécessite une règle de pare-feu pour autoriser le port 22. Exécutez la commande suivante pour vérifier si la règle a été ajoutée et ajoutez la commande si elle est manquante :
si ( !( Get-NetFirewallRule -Name « OpenSSH-Server-In-TCP » -ErrorAction SilentlyContinue | Select-object name, enabled)) {
Write-Output « La règle de pare-feu 'OpenSSH-Server-In-TCP' n’existe pas, la création ... »
New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
} else {
Write-Output : « La règle de pare-feu 'OpenSSH-Server-In-TCP' a été créée et existe. »
}
Vérifiez que vous pouvez vous connecter à l’hôte distant à l’aide du mot de passe.
SSH <nom d’utilisateur >@<nom d’hôte distant ou adresse IP>
Si vous vous connectez à l’hôte distant pour la première fois, il se peut qu’il vous demande votre empreinte digitale. J’accepte.
2.
Le DSE II doit se connecter à l’hôte distant à l’aide de la clé SSH pour éviter d’avoir à entrer un mot de passe. Configurez l’authentification basée sur les clés SSH en procédant comme suit.
Exécutez l’exécutable ssh-keygen -t ed25519 sur localhost.
Cette opération génère la clé à l’aide de l’algorithme Ed25519. (ssh-keygen -t rsa -b 2048 est une alternative).
Lorsque vous êtes invité à entrer le nom de fichier de la clé à enregistrer, entrez C :\Users\<username>\.ssh\<key_filename>. Lorsque vous êtes invité à entrer une phrase secrète, appuyez sur Entrée et laissez ce champ vide.
(Pour améliorer la sécurité, vous pouvez saisir une phrase secrète. Si une phrase secrète est utilisée, exécutez ssh-agent et utilisez ssh-add <clé privée>.) ssh-keygen crée deux fichiers : c :\Users\<username>\.ssh\<key_filename> et <key_filename>.pub.
Le <key_filename> est la clé privée que le DSE II peut utiliser pour se connecter.
Pour vous connecter à l’aide de la clé, ajoutez le contenu de <key_filename>.pub au c :\Users\<username>\.ssh>\authorized_keys sur l’ordinateur distant. Si l’utilisateur est membre du groupe Administrateurs, ajoutez également le contenu de ce fichier dans C :\ProgramData\ssh\adminstrators_authorized_keys sur l’hôte distant.
Vous pouvez utiliser l’utilitaire scp pour copier la clé publique sur l’hôte distant.
scp C :\Utilisateurs\nom_d’utilisateur\.ssh\id_ed25519.pub <utilisateur>@<hôte distant ou ip> :C :\Utilisateurs\<nom d’utilisateur>\.ssh\authorized_keys
scp C :\Utilisateurs\nom_d’utilisateur\.ssh\id_ed25519.pub <utilisateur>@<hôte distant ou ip> :C :\ProgramData\ssh\administrators_authorized_keys
Voir référence : https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement
Vérifiez que l’utilisateur peut se connecter à l’hôte distant sans utiliser de mot de passe. Sur l’hôte local, exécutez la commande suivante :
ssh -i C :\Utilisateurs\<nom d’utilisateur>\.ssh\<key_filename > -l <nom d’utilisateur> <nom d’hôte distant ou adresse IP>
Si SSH demande un mot de passe utilisateur, essayez ce qui suit.
Sur l’hôte distant, modifiez C :\ProgramData\ssh\sshd_config
Commentez les lignes suivantes :
Administrateurs du groupe #Match
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
Ajoutez la ligne suivante pour autoriser les utilisateurs :
Utilisateurs AllowGroup
Redémarrez le service sshd. Sur l’hôte distant , exécutez PowerShell en tant qu’administrateur et exécutez la commande suivante :
sshd Restart-Service
Plus de détails ici : https://man.openbsd.org/ssh
3.
Pour le logiciel Intel® Quartus® Prime Pro Edition v22.1, modifiez le script de connexion SSH du modèle DSE II. Dans une prochaine version, cette étape ne sera pas nécessaire.
Modifiez la racine d’installation <quartus>/quartus/ common/python/lib/site-packages/quartus/dse/plugins/farms/ssh_job_template.sh.
Dans cet exemple, le logiciel Intel® Quartus® Prime Pro Edition est installé dans C :\intelFPGA_pro\22.1 et le chemin d’accès lui est défini. Ajustez le chemin pour qu’il corresponde au chemin d’installation du logiciel Intel® Quartus® Prime Pro Edition sur l’hôte distant :
echo connecté avec succès
echo Configuration des variables d’environnement
set QUARTUS_ROOTDIR=$quartus_rootdir
set PATH=C :\intelFPGA_pro\22.1\quartus\bin64 ;%PATH%
$lm_fichier_licence
echo Passage au répertoire de travail initial
$iwd du CD
echo Prêt à lancer quartus_worker
$quartus_commande_ouvrière
4. Exécutez le DSE II à l’aide de SSH.
Démarrez l’interface graphique DSE II. Projet ouvert. Cliquez sur Configuration. Sélectionnez Remote : SSH.
Spécifiez le nom d’hôte de la machine distante ou l’adresse IP de la machine distante .
Spécifiez l’utilisateur. Si le nom d’utilisateur sur local est différent de celui de la zone distante.
Client SSH, entrez ssh
Spécifiez le private_key : C :\Users\<username>\.ssh\<key_filename>.
Spécifiez lechemin racine I ntel® Quartus Prime sur la machine distante : Exemple : C :\intelFPGA_pro\22.1\quartus®
Spécifiez le système d’exploitation de la batterie de serveurs : windows.
Mappage de chemin local à distant. C:\; C:/.
Répertoire de travail initial.
Spécifiez le répertoire de la machine distante à démarrer dans C :\
Cliquez sur Démarrer pour commencer la compilation ou l’exploration à distance.
Si vous obtenez l’erreur suivante :
« Erreur : [Errno 11001] getaddrinfo a échoué.
La machine ne parvient pas à obtenir l’adresse IP de l’hôte local. Dans les paramètres du serveur DSE II, accédez au champ Host et saisissez l’adresse IPv4 de la machine locale.