Connecting to a workstation via SSH from Windows
There are several ways to connect to workstations via SSH from Windows:
- Windows Subsystem for Linux (WSL), a free add-on available from Microsoft. We recommend that Windows users use WSL. See the previous page for more information.
- PowerShell, a built-in program.
- PuTTY, a free, open-source SSH client.
Configure your account for SSH access
To connect to a workstation with SSH, you must first create a SSH key and upload it to your account. Follow these instructions.
Install OpenSSL
To help keep your workstations secure, SSL is required to connect to a workstation. Secure Sockets Layer (SSL) is a protocol for establishing secure links between networked computers. To use VS Code, PowerShell or PuTYY to connect to a workstation, Windows users must install an SSL toolkit. We recommend that Windows users follow the instructions below to install OpenSSL.
- Navigate your browser to Git for Windows, which provides a simple OpenSSL installer for Windows.
- Click the "Download" button.
- Run the downloaded program.
- If a dialog titled "Do you want to allow this app to make changes to your device?" opens, click the "Yes" button.
- Follow the on-screen instructions to install Git and OpenSSL. We recommend choosing the following installation options:
- In the "Select Components" screen, check "Associate .git* configuration files with the default text editor".
- In the "Choosing the default editor used by Git screen", select "Use Visual Studio Code as Git's default editor".
- In the "Adjusting your PATH environment" screen, select "Git from the command line and also from 3rd-party software".
- In the "Choosing the SSH executable" screen, select "Use bundled OpenSSH".
- In the "Choosing HTTPS transport backend" screen, select "Use the OpenSSL library".
- Add OpenSSL to your system path.
- Open the Windows Start menu.
- Type "Edit the system environment variables" in the search bar in the Start menu.
- In the right panel, click the "Open" button for the "Edit the system environment variables" control panel. This will open the "System Properties" window.
- Click the "Environment Variables..." button at the bottom of the "System Properties" window.
- In the "System variables" section, select the "Path" variable and then click the "Edit..." button. This will open the "Edit environment variable" window.
- In the "Edit environment variable" window, click the "New" button.
- In the input box that opens, enter
C:\Program Files\Git\usr\bin
or the path to theusr\bin
subdirectory of the directory where you installed Git. - Click the "OK" button of the "Edit environment variable" window.
- Click the "OK" button of the "Environment Variables" window.
- Click the "OK" button of the "System Properties" window.
Connecting to a workstation with PowerShell
PowerShell is a command-shell for Windows. To use PowerShell to connect to a workstation, follow the instructions above to install OpenSSL and then follow the instructions below.
Get the ID for your workstation.
- Navigate to the workstations overview page.
- Locate the workstation that you would like to connect to.
Copy the following command to run SSH, replacing the following variables
org-id
: Replace with the ID of your organization, such asacme-bio
.workstation-id
: Replace with the ID of the workstation, such asexceptional-panda-g1i
.blueprint-id
: Replace with the ID of the software blueprint, such aspython
.compute-cluster-id
: with the ID of the compute cluster, such asus-west-2.aws
.ssh-private-key-file
: with the path to your private key file, such as~/.ssh/id_rsa
.
Example PowerShell commandssh -o ProxyCommand="openssl s_client -quiet -connect {compute-cluster-id}.bench.deeporigin.io:2222 -servername {workstation-id}-{blueprint-id}.org-{org-id}" bench-user@{workstation-id} -i {ssh-private-key-file}
Open the Windows Start menu.
Type "PowerShell" in the search bar in the Start menu.
In the right panel, click the "Open" button for the PowerShell app. This will open a window for the PowerShell application.
Enter the command from Step 2 above into the PowerShell window.
The first time that you connect, you will be prompted "Are you sure you want to continue connecting (yes/no/[fingerprint])?". Enter "yes" to connect to your workstation.
Optionally, configure your SSH client to enable simpler commands for connecting to workstations
To enable simpler commands for connecting to workstations, first follow the instructions below to add an entry for the Deep Origin OS to your SSH configuration file. This step only needs to be completed once for each computer.
Open a text editor, such as Notepad.
- Open the Windows Start menu.
- Type "Notepad" in the search bar in the Start menu.
- In the search result for the Notepad App in the right panel, click the "Run as Administrator" button. This will open a window for the Notepad application.
Within your text editor, open or create the SSH configuration file,
%USERPROFILE%\.ssh\config
.Append the following to the end of the configuration file, replacing the following variables
compute-cluster-id
: Replace with the ID of your compute cluster, such asus-west-2.aws
.ssh-private-key-file
: Replace with the path to your SSH private key file.
SSH configuration file snippet for PowerShell with GitHost *.{compute-cluster-id}.bench.deeporigin.io
ProxyCommand openssl s_client -quiet -connect {compute-cluster-id}.bench.deeporigin.io:2222 -servername $(echo %h | sed s/\{compute-cluster-id}\.bench\.deeporigin\.io$//g)
User bench-user
IdentityFile {ssh-private-key-file}Save the SSH configuration file.
Once you have added an entry for the Deep Origin OS to your SSH configuration file, you can use the following PowerShell command template to connect to workstations, replacing the following variables:
org-id
: Replace with the ID of your organization, such asacme-bio
.workstation-id
: Replace with the ID of the workstation, such asexceptional-panda-g1i
.blueprint-id
: Replace with the ID of the software blueprint, such aspython
.compute-cluster-id
: with the ID of the compute cluster, such asus-west-2.aws
.
& 'C:\Program Files\Git\usr\bin\ssh.exe' {workstation-id}-{blueprint-id}.org-{org-id}.{compute-cluster-id}.bench.deeporigin.io
You can also add the -verify_quiet
flag to the above configuration, after the -quiet
flag, to suppress additional debugging output from OpenSSL. Some distributions may not support this option.
Note, we recommend using the SSH client provided with Git, rather than the client provided by Windows.
Connecting to a workstation with PuTTY
Configure PuTTY to connect to the workstation
If your private key file doesn't have a .ppk
extension, it needs to be converted to PuTTY format before being used. Follow these instructions.
After installing OpenSSL and PuTTY, follow the steps below to configure PuTTY to connect to your workstation. These steps only need to be executed the first time that you connect to a new workstation.
- Open PuTTY.
- In the left menu, click the "Session" category.
- In the right panel, in the "Host Name" section, type the ID for your workstation.
- In the left menu, click the "Connection > Data" category.
- In the right panel, in the "Auto-login username" section, enter
bench-user
. - In the left menu, click the "Connection > Proxy" category.
- In the right panel, in the "Proxy type" section, select "Local".
- In the right panel, in the "Telnet command or local proxy command" section, enter
C:\Program Files\Git\usr\bin\openssl.exe s_client -quiet -connect {compute-cluster-id}.bench.deeporigin.io:2222 -servername {workstation-id}-{blueprint-id}.org-{org-id}
, replacing the following variables:org-id
: Replace with the ID of your organization, such asacme-bio
.workstation-id
: Replace with the ID of the workstation, such asexceptional-panda-g1i
.blueprint-id
: Replace with the ID of the software blueprint, such aspython
.compute-cluster-id
: with the ID of the compute cluster, such asus-west-2.aws
.
- In the left menu, click the "Connection > SSH > Auth" category.
- In the right panel, in the "Private key file for authentication" section, click the "Browse..." button and select the private key file for your workstation that you generated during the SSH configuration.
- In the left menu, click the "Session" category.
- In the right panel, in the "Saved Sessions" input box, enter the name for your workstation.
- In the right panel, below the "Saved Sessions" input box, click the "Save" button.
If you have installed Git for Windows or OpenSSL in a location other than the default, provide the path to openssl.exe
in step 8 above.
Use PuTTY to connect to the workstation
After configuring PuTTY, follow the steps below to connect to your workstation:
- Open PuTTY.
- In the left menu, click the "Session" category.
- In the right panel, in the "Load, save, or delete a stored session" section, select the name of your workstation and click the "Load" button.
- At the bottom right of the PuTTY application, click the "Open" button.
- The first time you connect to your workstation, PuTTY will open a prompt which asks if you trust your host. Click the "Accept" button.