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

  1. Go to https://git-scm.com
  2. Click the Download for Windows button
  3. 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

  1. Open Git Bash from the Start menu
  2. Run:
    git --version

    You 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)

  1. Go to https://github.com
  2. Click Sign up
  3. Use your CNM email - this gives you student benefits
  4. Choose a professional username - employers will see this!

4.2 Add Your SSH Key to GitHub

  1. Sign in to GitHub
  2. Click your profile pictureSettings
  3. Click SSH and GPG keys in the left sidebar
  4. Click New SSH key
  5. Title: Name it something like "Make and Model Windows Laptop"
  6. Copy your public key if needed in gitbash using:
    cat ~/.ssh/id_ed25519.pub

    This copies your public key to the clipboard (nothing will appear on screen).

  7. Key: Paste the key in Github with Ctrl+V (your public key is still in the clipboard)
  8. Click Add SSH key

4.3 Test the Connection

In Git Bash:

ssh -T [email protected]
  • If asked about authenticity, type yes and 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

  1. Go to https://ddc-web-student.cnm.edu
  2. Sign in with your CNM username (not the whole email) and password
  3. Copy your public key again if needed:
    cat ~/.ssh/id_ed25519.pub
  4. 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 exit to disconnect

Step 6: Install Node.js

6.1 Download Node.js

  1. Go to https://nodejs.org
  2. Click the LTS version (recommended for most users)
  3. 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:

  1. Open System Properties → Environment Variables
  2. Look for GIT_SSH pointing to plink.exe
  3. Delete that variable
  4. Restart Git Bash

Need Help?

  • Reach out on Slack
  • Re-watch sections of the video above

Last updated: January 2026