git / 通过 ssh 与仓库通信
生活随笔
收集整理的這篇文章主要介紹了
git / 通过 ssh 与仓库通信
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、配置SSH
git 使用 SSH 配置, 初始需要以下三個步驟
- 使用 ssh-keygen 命令來創建密鑰對, 默認保存路徑為 ~/.ssh/ 下, 一般 id_rsa 為私鑰,id_rsa.pub 為公鑰,命令如下:
ssh-keygen -t rsa -C "e-mail name"
?Generating public/private rsa key pair.
Enter file in which to save the key
(/Users/your_user_directory/.ssh/id_rsa): (按回車鍵)
Enter passphrase (empty for no passphrase): (按回車鍵)
Enter same passphrase again: (按回車鍵)
- 使用 cat ~/.ssh/id_rsa.pub 命令獲取公鑰,然后拷貝到托管網頁上, 一般是 setting(設置)——> SSH Keys 里面添加
- 對于在默認路徑 ~/.ssh/ 下生成的 id_rsa 密鑰對,任何 ssh client 是可以直接讀取到,不需要額外配置
二、測試是否關聯成功
輸入:
ssh -T git@github.com
出現以下結果即為成功:
Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
三、驗證原理
SSH 登錄安全性由非對稱加密保證,產生密鑰時,一次產生兩個密鑰,一個公鑰,一個私鑰,在git 中一般命名為 id_rsa.pub,id_rsa 。
那么如何使用生成的一個私鑰一個公鑰進行驗證呢?
- 本地生成一個密鑰對,其中公鑰放到遠程主機,私鑰保存在本地
- 當本地主機需要登錄遠程主機時,本地主機向遠程主機發送一個登錄請求,遠程收到消息后,返回一個隨機生成的字符串,本地拿到該字符串,用存放在本地的私鑰進行加密,再次發送到遠程,遠程用之前存放在遠程的公鑰對本地發送過來加密過的字符串進行解密,如果解密后與源字符串等同,則認證成功。
?
(SAW:Game Over!)
總結
以上是生活随笔為你收集整理的git / 通过 ssh 与仓库通信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux / 终端常用快捷键
- 下一篇: 编译 / __attribute__(c