Article ID: 000090554 Content Type: Install & Setup Last Reviewed: 10/09/2023

How to set up Design Space Explorer II Remote SSH Farm on Windows OS

Environment

    Intel® Quartus® Prime Pro Edition

Windows Server 2016 Family*, Windows® 10 family

BUILT IN - ARTICLE INTRO SECOND COMPONENT
Description

Starting with the Intel® Quartus® Prime Pro Edition Software version 22.1, you have the option to set up the Design Space Explorer II (DSE II) using the Windows OpenSSH server.

 

 

Resolution

1.

The first step in getting the DSE II to work with OpenSSH is to install OpenSSH. The OpenSSH server service should be installed on the remote host. Refer to the following instructions from Microsoft:

On the remote host, start PowerShell as Administrator and run the command:

Start-Service sshd

 

You can configure the sshd service to always start by using the following command:

Set-Service -Name sshd -StartupType 'Automatic'

 

The sshd service requires a firewall rule to allow port 22. Run the following command to check whether the rule has been added and add the command if it's missing:

if (!(Get-NetFirewallRule -Name "OpenSSH-Server-In-TCP" -ErrorAction SilentlyContinue | Select-Object Name, Enabled)) {

    Write-Output "Firewall Rule 'OpenSSH-Server-In-TCP' does not exist, creating it..."

    New-NetFirewallRule -Name 'OpenSSH-Server-In-TCP' -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22

} else {

    Write-Output "Firewall rule 'OpenSSH-Server-In-TCP' has been created and exists."

}

 

Verify that you can connect to the remote host using the password.

ssh <username>@<remote hostname or ip address>

If you are connecting to the remote host for the first time, it may ask for your fingerprint. Accept.

 

2.

The DSE II needs to connect to the remote host using the SSH key to avoid having to enter a password. Set up SSH key-based authentication using the following steps.

Run ssh-keygen -t ed25519 executable on localhost.   

This generates the key using the Ed25519 algorithm.  (ssh-keygen -t rsa -b 2048 is an alternative).

When prompted for the key filename to save,  enter C:\Users\<username>\.ssh\<key_filename>. When prompted for a passphrase, press enter and leave it blank.

(For improved security, you can enter a passphrase. If a passphrase is used, run ssh-agent and use ssh-add <private key>.)  ssh-keygen creates two files, c:\Users\<username>\.ssh\<key_filename> and <key_filename>.pub.   

The <key_filename> is the private key that the DSE II can use to connect. 

To log in using the key, append the content of <key_filename>.pub to the c:\Users\<username>\.ssh>\authorized_keys on the remote machine. If the user is a member of the Administrator group, also add the content of this file to C:\ProgramData\ssh\adminstrators_authorized_keys on the remote host.

You can use the scp utility to copy the public key to the remote host.

scp C:\Users\username\.ssh\id_ed25519.pub <user>@<remote host or ip>:C:\Users\<username>\.ssh\authorized_keys

scp C:\Users\username\.ssh\id_ed25519.pub <user>@<remote host or ip>:C:\ProgramData\ssh\administrators_authorized_keys

See reference: https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_keymanagement

 

Verify that the user can connect to the remote host without using a password. On the local host, run the following command:

ssh  -i C:\Users\<username>\.ssh\<key_filename > -l <username> <remote hostname or IP address>

 

If SSH asks for a user password, try the following.

On the remote host, edit the C:\ProgramData\ssh\sshd_config

Comment out the following lines: 

#Match Group adminstrators

#      AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys

 

Add the following line to allow users:

AllowGroup users

 

Restart the sshd service. On the remote host, run PowerShell as administrator and run the following command:

Restart-Service sshd

 

More details here: https://man.openbsd.org/ssh

 

3.

For the Intel® Quartus® Prime Pro Edition Software v22.1, modify the DSE II's template SSH connection script. In a future release, this step will not be needed.

Modify the <quartus installation root>/quartus/common/python/lib/site-packages/quartus/dse/plugins/farms/ssh_job_template.sh.

In this example, the Intel® Quartus® Prime Pro Edition Software is installed to C:\intelFPGA_pro\22.1 and the path is set to it.  Adjust the path to match the Intel® Quartus® Prime Pro Edition Software installation path on the remote host:

 

echo Connected Successfully

 

echo Setting up environment variables

set QUARTUS_ROOTDIR=$quartus_rootdir

set PATH=C:\intelFPGA_pro\22.1\quartus\bin64;%PATH%

 

$lm_license_file

 

echo Changing to initial working directory

cd $iwd

 

echo Ready to launch quartus_worker

 

$quartus_worker_command

 

4. Run the DSE II using SSH. 

 

Start DSE II GUI. Open Project. Click Setup. Select Remote: SSH. 

Specify the hostname of the remote machine or the remote machine's IP address. 

Specify user. If the username on local is different than in the remote.
SSH Client, enter ssh

Specify the private_key: C:\Users\<username>\.ssh\<key_filename>.

Specify the Intel® Quartus® Prime root path on the remote machine: Example: C:\intelFPGA_pro\22.1\quartus

Specify Farm Operating System: windows. 

Local to Remote Path Mapping. c:\;c:/. 

Initial Working Directory.

Specify the directory for the remote machine to start in C:\

Click Start to begin the remote compilation or exploration.

 

If you get the following error:

 "Error: [Errno 11001] getaddrinfo failed.

The machine is not able to get the IP address of the local host. In the DSE II Server Settings, go to the Host field and enter the IPv4 address of the local machine.

 

Related Products

This article applies to 1 products

Intel® Programmable Devices

1