Configuring SSH and Git for Windows
Follow along with the video and these instructions to set up your Windows development environment. You'll install and configure Git, create a Github account, setup SSH access to the student server and Github, and install Node.js.
Prerequisites
- Windows 11 (64-bit)
- A CNM email address
- Internet connection
Step 1: Install Git for Windows
1.1 Download Git
- Go to https://git-scm.com
- Click the Download for Windows button
- Run the installer when the download completes
1.2 Installation Options
⚠️ Putty Warning: If you have Putty installed on your computer, you may encounter SSH issues. Be especially careful to select "Use bundled OpenSSH" during installation. If you have problems later, you may need to uninstall Putty, reinstall Git, then reinstall Putty.
Work through the installer with these settings:
| Screen | Selection |
|---|---|
| Components | Keep defaults (make sure "Git Bash Here" is checked) |
| Default editor | Use Vim (recommended) |
| Initial branch name | Select "Override..." and type main (lowercase) |
| PATH environment | Git from the command line and also from 3rd-party software |
| SSH executable | Use bundled OpenSSH Important! |
| HTTPS transport | Use the OpenSSL library |
| Line endings | Checkout Windows-style, commit Unix-style |
| Terminal emulator | Use Windows' default console window |
| Git pull behavior | Default (fast-forward or merge) |
| Credential helper | Git Credential Manager |
| Extra options | Keep defaults |
Click Install and wait for completion.
1.3 Verify Installation
- Open Git Bash from the Start menu
- Run:
git --versionYou should see something like
git version 2.47.1.windows.2
1.4 Configure Git
Run these commands in Git Bash (replace with your actual information):
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
git config --global init.defaultBranch main
git config --global pull.rebase false
📧 Use your CNM email - this should match what you'll use for GitHub.
Step 2: Set Up SSH Keys
SSH keys let you securely connect to GitHub and the Deep Dive server without typing passwords.
2.1 Generate Your SSH Key
In Git Bash, run:
ssh-keygen -t ed25519 -C "[email protected]"
When prompted:
- File location: Press Enter to accept the default
- Passphrase: Enter a strong, unique passphrase!
IMPORTANT: Use a long phrase you can remember, and store it in a password manager like Bitwarden, Dashlane, or LastPass.
2.2 Start the SSH Agent
eval "$(ssh-agent -s)"
You should see Agent pid followed by a number.
2.3 Add Your Key to the Agent
ssh-add ~/.ssh/id_ed25519
Enter your passphrase if you set one.
2.4 To Display and Copy Your Public Key
cat ~/.ssh/id_ed25519.pub
Select and copy your public key with ctrl-c.
Step 3: Configure SSH for Convenience
3.1 Auto-Start SSH Agent
This loads your SSH key automatically when you open Git Bash.
nano ~/.bash_profile
Paste this content:
# Auto-start SSH agent
env=~/.ssh/agent.env
agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }
agent_start () {
(umask 077; ssh-agent >| "$env")
. "$env" >| /dev/null ; }
agent_load_env
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)
if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
agent_start
ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
ssh-add
fi
unset env
Save: Press Ctrl+X, then Y, then Enter
Step 4: Set Up GitHub
4.1 Create a GitHub Account (unless you already have one)
- Go to https://github.com
- Click Sign up
- Use your CNM email - this gives you student benefits
- Choose a professional username - employers will see this!
4.2 Add Your SSH Key to GitHub
- Sign in to GitHub
- Click your profile picture → Settings
- Click SSH and GPG keys in the left sidebar
- Click New SSH key
- Title: Name it something like "Make and Model Windows Laptop"
- Copy your public key if needed in gitbash using:
cat ~/.ssh/id_ed25519.pubThis copies your public key to the clipboard (nothing will appear on screen).
- Key: Paste the key in Github with Ctrl+V (your public key is still in the clipboard)
- Click Add SSH key
4.3 Test the Connection
In Git Bash:
ssh -T [email protected]
- If asked about authenticity, type
yesand press Enter - You should see:
Hi YourUsername! You've successfully authenticated...
Step 5: Set Up Deep Dive Server Access
5.1 Add Your SSH Key to the Server
- Go to https://ddc-web-student.cnm.edu
- Sign in with your CNM username (not the whole email) and password
- Copy your public key again if needed:
cat ~/.ssh/id_ed25519.pub - Paste your key and click Add SSH key
5.2 Test the Connection
ssh [email protected]
Replace yourusername with your CNM username.
- If asked about authenticity, type
yes - You should connect without being asked for a password
- Type
exitto disconnect
Step 6: Install Node.js
6.1 Download Node.js
- Go to https://nodejs.org
- Click the LTS version (recommended for most users)
- Run the installer
6.2 Installation Options
- Accept the license
- Keep the default installation location
- Keep default features
- Uncheck "Automatically install necessary tools" - you don't need this
6.3 Verify Installation
Close Git Bash and open a new one, then run:
node --version
npm --version
Both should display version numbers.
You can now proceed to Configuring WebStorm
Verification Checklist
Run these commands in Git Bash to verify everything is working:
| Command | Expected Result |
|---|---|
git --version |
Shows Git version |
ssh -T [email protected] |
"Hi YourUsername! You've successfully authenticated..." |
ssh ddc |
Connects to server (type exit to disconnect) |
node --version |
Shows Node.js version |
npm --version |
Shows npm version |
Quick Reference
Key Locations
| Item | Location |
|---|---|
| Private SSH Key | ~/.ssh/id_ed25519 (NEVER share this!) |
| Public SSH Key | ~/.ssh/id_ed25519.pub |
| SSH Config | ~/.ssh/config |
| Bash Profile | ~/.bash_profile |
Troubleshooting
"Permission denied (publickey)"
Your SSH key isn't loaded. Run:
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Git or Node commands not found
Close all terminal windows and open a fresh Git Bash.
SSH issues with Putty installed
Check for a GIT_SSH environment variable:
- Open System Properties → Environment Variables
- Look for
GIT_SSHpointing toplink.exe - Delete that variable
- Restart Git Bash
Need Help?
- Reach out on Slack
- Re-watch sections of the video above
Last updated: January 2026