Using GitHub with SSH (Secure Shell) Last Updated : 12 Jul, 2025 Comments Improve Suggest changes 16 Likes Like Report Secure Shell (SSH) Protocol facilitates the communication among systems in an unsecured network by providing a secure channel over it. It safeguards the connection to remote servers enabling user authentication. Using SSH, you can connect to your GitHub account eliminating the need of giving username and password each time you push changes to the remote repository. The integration process involves setting up SSH Keys within both the local and remote systems. Connect to GitHub using SSH Note: If you already have an existing SSH key, you can skip step 1 and go to step 2. You can verify the same by listing all the existing keys using the command: $ ls -al ~/.ssh Steps to connect GitHub to SSH : Step 1: Generate SSH Key on Local System Launch Terminal / Git Bash. Paste the below command and substitute your GitHub email address: $ ssh-keygen -t rsa -b 4096 -C "your_email@example.com" Press Enter when prompted "Enter a file in which to save the key". Type a passphrase of your choice. Verify creation of SSH Key: $ ls -al ~/.ssh Step 2: Add SSH Key to SSH Agent Initiate ssh-agent: $ eval "$(ssh-agent -s)" If your key is generated with a different name, replace id_rsa in the command below: $ ssh-add ~/.ssh/id_rsa Step 3: Add the SSH Key to your GitHub Account Copy key to the clipboard: WINDOWS $ clip < ~/.ssh/id_rsa.pub LINUX $ sudo apt-get install xclip $ xclip -sel clip < ~/.ssh/id_rsa.pub MAC $ pbcopy < ~/.ssh/id_rsa.pub Open the GitHub website and log in to your account. Go to the settings page from the menu in top right corner. Select "SSH and GPG keys" from the sidebar and click on "New SSH key" option. Add relevant title in the "Title" field and paste the SSH key in the "Key field". Now, click on "Add SSH key". Step 4: Test the SSH Connection Launch Terminal / Git Bash. Type: $ ssh -T git@github.com Connection is established if you are prompted with the following message: Hi {username}! You've successfully authenticated, but GitHub does not provide shell access. Create Quiz Comment C cs_apachi Follow 16 Improve C cs_apachi Follow 16 Improve Article Tags : Git Explore Git IntroductionGit Introduction 5 min read Introduction to Github 5 min read An Ultimate Guide to Git and Github 11 min read What is Git? 6 min read What Is Gitlab? Complete Guide 4 min read Git Bash 9 min read Git Installation and SetupHow to Install GIT on Linux 4 min read Git - Environment Setup 2 min read How To Install Git on Ubuntu 20.04 3 min read How to Install Git in VS Code? 2 min read How to Install Git on Cygwin? 2 min read How to Install and Use GIT in Android Studio? 4 min read How to Setup Git Using Git Config? 3 min read Git- Setting up a Repository 3 min read How to install Git on Redhat Linux 9? 4 min read How to Install Git on Termux? 2 min read How to Install Git in FreeNAS? 4 min read How to Install Git on Raspberry Pi? 2 min read How to Install GIT on VMWare? 2 min read How to Install Git in Cpanel Server? 3 min read How To Install Git on AWS? 2 min read How to Setup Git Server on Ubuntu? 6 min read How to Install Git on Windows Subsystem for Linux? 2 min read All Git CommandsBasic Git Commands with Examples 4 min read 50+ Essential Git Commands for Beginners and Developers 7 min read Top 12 Git Commands for Every Developer 9 min read Essential Git Commands 3 min read Useful Git Commands and Basic Concepts 5 min read All Git Commands You Should Know 8 min read Simple and Concise Git Commands That Every Software Developer Should know 4 min read Most Used Git CommandsGit Init 3 min read Git Pull 4 min read Git Push 4 min read Git Clone 5 min read Git Rebase 7 min read How To Fetch Remote Branches in Git ? 3 min read Git Status 2 min read Git Add 2 min read Git Commit 2 min read Git Reset 3 min read Git BranchBranching Strategies in Git 8 min read Introduction to Git Branch 4 min read How To Create Branch In Git? 2 min read How to Create a Branch In Git from Another Branch? 3 min read How to Create a New Branch in Git and Push the Code? 8 min read How To Publish A New Branch In Git? 4 min read How to Create Git Branch With Current Changes? 1 min read Create a Git Branch From Another Branch 4 min read How to Create a New Branch in Git? 4 min read How to Create Branch From a Previous Commit Using Git? 2 min read How To Visualizing Branch Topology in Git? 3 min read How to Check Branch in Git? 2 min read How to Clone a Branch in Git? 3 min read How to Fetch All Git Branches? 2 min read Git MergeGit - Merge 4 min read Git Checkout And Merge 5 min read How to Merge Two Branches in Git? 4 min read How to Merge a Git Branch into Master? 3 min read How to Replace Master Branch with Another Branch in GIT? 2 min read Git Merge and Merge Conflict 3 min read Git Tools and IntegrationWorking on Git for GUI 4 min read How Git Version Control Works? 11 min read How To Write CI/CD Pipeline Using GitLab? 8 min read Git and DevOps: Integrating Version Control with CI/CD Pipelines 11 min read How To Create A Basic CI Workflow Using GitHub Actions? 5 min read How To Set Up Continuous Integration With Git and Jenkins? 4 min read How to Set Up a CI Pipeline for Ktor Using GitHub Actions? 6 min read Introduction to GitHub Actions 4 min read Basic CI Workflow For Android using GitHub Actions 2 min read Integrating Jenkins With Popular GitHub 8 min read Managing Git Repositories with GitLab 3 min read Git Remote RepositoriesUnderstanding Git Repository 4 min read Git- Setting up a Repository 3 min read Creating Repository in GitHub 3 min read Working With Git Repositories 7 min read Collaborating with GitGit - Fork 4 min read Difference Between fork and clone in GitHub 3 min read How to Fork a GitHub Repository? 3 min read Sync Your Fork With Master in GitHub 3 min read How to Update or Sync a Forked Repository on GitHub? 2 min read Advanced Git CommandsGit Rebase 7 min read Git - Difference Between Merging and Rebasing 3 min read What is Git Interactive Rebasing? 4 min read How to Undo a Git Rebase? 3 min read How To Rebase a Local Branch Onto a Remote Master in Git? 3 min read How to Fix - Git Refusing to Merge Unrelated Histories on Rebase? 3 min read Using Refs And Reflogs In Git 3 min read Recovering Lost Commits in Git 2 min read How to Restore a Deleted Branch or Commit with Git? 3 min read How to Change a Git Commit Message After a Push? 3 min read Git - Cherry Pick 6 min read How to cherry-pick Multiple Commits in Git? 4 min read How to Use the "cherry-pick" Command in Git? 3 min read Like