// Streamlining Connections
Direct SSH Configuration
Create or modify the ~/.ssh/config file on the system from which you will be accessing NCCS hosts with the following content:
host discover.nccs.nasa.gov adapt.nccs.nasa.gov discover-nastran.nccs.nasa.gov dataportal.nccs.nasa.gov dirac.nccs.nasa.gov
User USERID
LogLevel Quiet
ProxyCommand ssh -l USERID login.nccs.nasa.gov direct %h
Protocol 2
Substitute both instances of USERID with your NASA userid. You may omit any host you do not have access to.
Ensure permissions for the ~/.ssh directory are inaccessible by anyone except you:
$ chmod 0700 ~/.ssh
Now you will be able to SSH to any of the hosts in the above ~/.ssh/config file, for example:
$ ssh USERID@discover.nccs.nasa.gov
$ ssh USERID@adapt.nccs.nasa.gov
PIV Configuration
Install an appropriate library to support PIV cards, such as opensc-pkcs11, on your system:
Add the following to the ~/.ssh/config. Note, the path to the PKCS11 library for a Linux distribution may vary.
Host login.nccs.nasa.gov login
PKCS11Provider=/usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so
Direct SSH Configuration
Create or modify the ~/.ssh/config file on the system from which you will be accessing NCCS hosts with the following content:
host discover.nccs.nasa.gov adapt.nccs.nasa.gov discover-nastran.nccs.nasa.gov dataportal.nccs.nasa.gov dirac.nccs.nasa.gov
User USERID
LogLevel Quiet
ProxyCommand ssh -l USERID login.nccs.nasa.gov direct %h
Protocol 2
Substitute both instances of USERID with your NASA userid. You may omit any host you do not have access to.
Ensure permissions for the ~/.ssh directory are inaccessible by anyone except you:
$ chmod 0700 ~/.ssh
Now you will be able to SSH to any of the hosts in the above ~/.ssh/config file, for example:
$ ssh USERID@discover.nccs.nasa.gov
$ ssh USERID@adapt.nccs.nasa.gov
PIV Configuration
Add the following to the ~/.ssh/config:
Host login.nccs.nasa.gov login
PKCS11Provider=/usr/lib/ssh-keychain.dylib
Contact your system administrator and ask them to install the ssh-keychain.dylib library if it does not exist.
Direct SSH Configuration
If you will use PowerShell to SSH, paste "%USERPROFILE%/.ssh/config" into File Explorer to open the config file and edit it with the content below.
However, we recommend a terminal manager like MobaXterm instead because it provides a configurable X11 server, and a Linux-like environment with built-in file transfer utilities (scp, rsync, sftp). You can download the Installer Edition here. Once it is installed, you simply need to open a terminal and modify the ~/.ssh/config with the following:
host discover.nccs.nasa.gov adapt.nccs.nasa.gov discover-nastran.nccs.nasa.gov dataportal.nccs.nasa.gov dirac.nccs.nasa.gov
User USERID
LogLevel Quiet
ProxyCommand ssh -l USERID login.nccs.nasa.gov direct %h
Protocol 2
Substitute both instances of USERID with your NASA userid. You may omit any host you do not have access to.
Ensure permissions for the ~/.ssh directory are inaccessible by anyone except you:
$ chmod 0700 ~/.ssh
Now you will be able to SSH to any of the hosts in the above ~/.ssh/config file, for example:
$ ssh USERID@discover.nccs.nasa.gov
$ ssh USERID@adapt.nccs.nasa.gov
PIV Configuration
Pageant (from PuTTY-CAC) SSH Agent Configuration
First, install PuTTY-CAC and launch Pageant:
- Search for "Software Center" on your laptop.
- In "Applications", install PuTTY-CAC if it is not already installed.
- Now search for "pageant" and open it.
- If you get a message that it is already running, that's great.
- In the bottom-right of the taskbar, click the up-carrot for hidden icons.
- Double-click the pageant icon to open the key list.
- Click "Add CAPI Cert".
- Select the certificate from your PIV card.
- Close the window after it is added.
Next, Pageant should be made to run on startup:
- Open File Explorer.
- Go to "C:\Program Files\PuTTY" and leave that window open.
- Press the Windows Key + R and type "shell:startup" to open the Startup folder.
- Right-click on the "Pageant" shortcut in the "C:\Program Files\PuTTY" window
- Click the Copy icon.
- Paste the shortcut into the Startup folder.
If you are using MobaXterm, no additional modification to the ~/.ssh/config file is needed.
If you are using PowerShell, you must also do the following:
- Press the Windows Key + R and type "shell:startup" to open the Startup folder.
- Create a new file called "pageant_openssh.bat"
- Add the following contents:
powershell -Command "& 'C:\Program Files\PuTTY\pageant.exe' --openssh-config C:\Users\USERID\.ssh\pageant.conf" - Replace USERID with your NASA userid.
- Add the following contents:
- Open the %USERPROFILE%/.ssh/config file.
- Add this line to the top:
Include pageant.conf
- Add this line to the top:
PuTTY with PuTTY-CAC Configuration
If you are limited to using PuTTY, do the following when adding a new connection:
- Expand the "Connection" category on the left-side of the PuTTY Configuration window.
- Expand the SSH category.
- Under SSH, click the item called "Certificate".
- Check the box for "Attempt certificate / key authentication."
- Click "Set CAPI Cert".
- Select the certificate from your PIV card.
- In the left-side menu, click the Session category.
- Enter the Host Name as "login.nccs.nasa.gov".
- Set the connection type to SSH.
- Name and save your PuTTY session (for example, "NCCS with PIV Auth") so you can load these configurations later.
- Test your connection.
ActivClient Configuration (Optional)
To set up the PKCS11 library from ActivClient, add the stanza below to your %USERPROFILE%/.ssh/config file:
Host *
PKCS11Provider="C:\Program Files\HID Global\ActivClient\acpkcs211.dll"
User USERID
SSH Between Discover Login Nodes
Users must set up an SSH key pair and put the public key in their Discover $HOME/.ssh/authorized_keys file to SSH between login nodes. Use the default name/file and the default of no passphrase:
$ ssh-keygen -t ecdsa
$ cat $HOME/.ssh/id_ecdsa.pub >> $HOME/.ssh/authorized_keys
This setup only needs to be done once, though keys can be replaced or others can be added. Just make sure the .pub key is added to the authorized_keys file.


