Setting up SSH on Windows
Using SSH on Windows with MFA
Both PuTTY and SecureCRT can be used for connecting to CSAIL Linux hosts without passwords. Kerberos tickets allow passwordless logins.
Prerequisites & Requirements
- Setup CSAIL DUO
Sign in to https://duo.csail.mit.edu/ and configure your preferences. - Jump Host Requirement for Slurm Nodes
Connecting to Slurm compute nodes and cluster infrastructure requires routing through the CSAIL jump host (jump.csail.mit.edu), regardless of whether you are on campus or connected via VPN. - Install VPN (for Off-Campus Access)
If you need to SSH to general CSAIL systems from outside the CSAIL network, install and connect to the MIT VPN. Note that while the VPN provides network access to internal machines, it does not bypass the jump host requirement for Slurm nodes. Inbound SSH connections to the public login serverlogin.csail.mit.eduandjump.csail.mit.eduremain open. - Setup Kerberos for Windows
For secure, passwordless SSH login to CSAIL systems, please first setup Kerberos for Windows. VS Code/Cursor (and presumably Claude) will never work with Kerberos for Windows, and will never work withcontrolpersist-style sockets because Windows does not support those socket types and these IDEs use non-standard SSH clients.
Connecting via OpenSSH (PowerShell / Command Prompt / WSL)
If you are using Windows OpenSSH in PowerShell, Command Prompt, or Windows Subsystem for Linux (WSL), create or update ~/.ssh/config to route through the jump host by default:
HashKnownHosts yes
VerifyHostKeyDNS ask
CanonicalizeHostname always
CanonicalDomains csail.mit.edu
Host *.csail.mit.edu 128.52.* 128.30.* 128.31.*
GSSAPIAuthentication yes
GSSAPIDelegateCredentials yes
Host jump.csail.mit.edu login.csail.mit.edu
VerifyHostKeyDNS yes
Host *.csail.mit.edu !jump.csail.mit.edu !login.csail.mit.edu 128.52.* 128.30.* 128.31.*
ProxyJump jump.csail.mit.edu
PuTTY
For PuTTY, v.0.61 or later, create a Saved Session with CSAIL-specific settings.
The example below uses our public login server as the host, but you can substitute jump.csail.mit.edu or the CSAIL host of your choice. To connect to Slurm compute nodes, configure jump.csail.mit.edu as a proxy under Connection -> Proxy.
In PuTTY Configuration
- In Session, set Host Name to login.csail.mit.edu (or jump.csail.mit.edu) and use
csail login(orcsail jump) as the session name under “Saved Settings”. - Connection -> SSH -> Auth -> GSSAPI, set “Allow GSSAPI credential delegation” to
YES. - In Connection -> Data, set “Auto-login username” to your CSAIL username.
- Click “Save”.
To use
- Connect to the MIT VPN if off campus. Inbound SSH connections to the public login server
login.csail.mit.eduandjump.csail.mit.eduremain open. - Get Kerberos Tickets.
- Click
csail login(orcsail jump), click Load, and then click Open.
SecureCRT
Install SecureCRT.
The example below uses our public login server as the host, but you can substitute jump.csail.mit.edu or the CSAIL host of your choice.
Create a New Session
- Connect to the MIT VPN if off campus.
- Get Kerberos Tickets.
- Open SecureCRT. The quick connect dialog box will open.
- Hostname: Enter
login.csail.mit.eduorjump.csail.mit.edu.- Port:
22(default) - Firewall:
None(default) - Username: Enter your CSAIL username (do not include
@csail.mit.edu).
- Port:
- Under Authentication select the following in order:
Keyboard InteractiveGSSAPI
- Session Name: Enter a name like
CSAIL Loginorjump.csail.mit.edu. - Click Connect.
- If you get a New Host Key prompt, click Accept & Save.
Connecting a session
- Connect to the MIT VPN if off campus.
- Get Kerberos Tickets.
- After you create a new session above, your settings will save in a session with the name you saved.
- Click File -> Connect, open your saved session.


