Copied!
Laravel
React
Vue

Best Beginner’s Guide to SSH: Secure Your Git, Servers & Deployments Like a Pro

best-beginner’s-guide-to-ssh
Shahroz Javed
Oct 30, 2025 . 20 views

Table Of Contents

 

SSH (Secure Shell) is one of the most essential tools every developer should know. Whether you're pushing code to GitHub, connecting to a VPS, or deploying applications — SSH keeps your communication secure and encrypted.

What is SSH?

SSH stands for Secure Shell. It’s a secure communication protocol that allows one computer to safely talk to another over a network. It’s mainly used for logging into remote servers, transferring files, and authenticating Git operations securely.

⚠️ SSH encrypts all your communication — meaning no one can steal your passwords or code while you’re online.

Why SSH Exists

Before SSH, developers used insecure protocols like telnet or ftp, which sent everything — including passwords — in plain text. Anyone monitoring your network could easily steal that data.

SSH solves this by:

SSH Keys = Your Digital ID Cards

SSH uses two keys to identify you:

What You Can Do with SSH

SSH isn’t only for GitHub — it’s much more powerful:

Essential SSH Commands and Setup

Navigate to SSH Folder

cd ~/.ssh

List Existing SSH Keys

ls -al ~/.ssh
# or if already in .ssh folder
ls -al

Generate a New SSH Key

It’s recommended to generate keys in your user’s SSH folder (e.g., C:\Users\YourName\.ssh\ on Windows).

ssh-keygen -t ed25519 -C "your_email@example.com"
# if ed25519 is not supported
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Add SSH Key to SSH Agent

The SSH agent is like your personal “key manager” — it holds your keys securely in memory while you’re working.

# Start the agent
eval "$(ssh-agent -s)"

# Add key to agent
ssh-add ~/.ssh/id_ed25519

# View loaded keys
ssh-add -l

# Remove all keys
ssh-add -D
💡 Related: Learn about How Git Authentication Works with SSH.

Auto-start SSH Agent on Git Bash (Windows)

# Add this to ~/.bashrc or ~/.bash_profile

eval "$(ssh-agent -s)" >/dev/null
ssh-add -l >/dev/null 2>&1 || ssh-add ~/.ssh/id_ed25519

Copy Your Public Key

cat ~/.ssh/id_ed25519.pub

Copy the entire line that starts with ssh-ed25519 or ssh-rsa.

Manage Multiple SSH Keys with Config File

nano ~/.ssh/config

# Personal GitHub
Host github.com-personal
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_ed25519

# Work GitHub
Host github.com-work
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa

Now you can clone using:

git clone git@github.com-personal:username/repo.git
git clone git@github.com-work:company/repo.git

Adding Your Key to GitHub, GitLab, and Bitbucket

GitHub

Go to Settings → SSH and GPG keys → New SSH Key. Paste your public key and name it (e.g., “My Laptop Key”).

ssh -T git@github.com

GitLab

Navigate to User → Preferences → SSH Keys and paste the key.

ssh -T git@gitlab.com

Bitbucket

Go to Personal Settings → SSH keys → Add new key.

Clone Repositories via SSH

git clone git@github.com:yourname/yourrepo.git

There are two main protocols for Git:

# Check current remote
git remote -v

# Switch HTTPS → SSH
git remote set-url origin git@github.com:username/repo.git

# Switch SSH → HTTPS
git remote set-url origin https://github.com/username/repo.git

Common SSH Commands

ssh user@host             # Connect to remote server
scp file user@host:/path  # Copy file securely
sftp user@host            # Open secure FTP session
ssh-add -l                # List loaded SSH keys
ssh-keygen -R hostname    # Remove old key from known hosts

Conclusion

SSH is not just a tool — it’s your gateway to secure development and remote work. Whether it’s GitHub authentication, file transfer, or server deployment, mastering SSH will save you time and keep your projects safe.

29 Shares

Similar Posts