Ubuntu系統(tǒng)SSH免密連接Github配置全過程
一、相關(guān)介紹
1.1 Ubuntu簡介
Ubuntu 是一款流行的開源操作系統(tǒng),基于 Linux 內(nèi)核構(gòu)建,最初由 Mark Shuttleworth 創(chuàng)立的 Canonical Ltd. 在 2004 年發(fā)布。
Ubuntu 主要面向桌面、筆記本電腦和服務(wù)器用戶,提供了一個穩(wěn)定、用戶友好且功能豐富的計算環(huán)境。
1.2 Git簡介
Git 是一個分布式版本控制系統(tǒng),用于跟蹤在軟件開發(fā)過程中對文件所做的修改。
它是由 Linux 的創(chuàng)始人 Linus Torvalds 于 2005 年為了更好地管理 Linux 內(nèi)核的源代碼而創(chuàng)建的。
Git 設(shè)計的核心理念是為了高效、靈活地處理從小型到大型項目的版本控制。
Git 的主要特點包括:
分布式的版本控制:每個開發(fā)者的工作站上都有完整的項目歷史記錄副本,這意味著開發(fā)者可以在沒有網(wǎng)絡(luò)連接的情況下工作,進行提交、分支、合并等操作。數(shù)據(jù)完整性和高效性:Git 使用 SHA-1 散列函數(shù)來標(biāo)識系統(tǒng)中的每一個對象,這保證了數(shù)據(jù)的完整性和一致性。同時,Git 能夠高效地處理大型項目,具有快速的性能。分支和合并:Git 提供了強大的分支管理能力,允許開發(fā)者輕松地創(chuàng)建和合并分支,這極大地促進了并行開發(fā)。
1.3 Github簡介
GitHub 是一個全球最大的分布式版本控制系統(tǒng)和開源代碼托管平臺,它主要基于 Git 版本控制軟件構(gòu)建。
GitHub 提供了一個集中的環(huán)境,供軟件開發(fā)者存儲項目代碼、跟蹤更改、協(xié)作開發(fā)以及分享開源項目。
核心功能:
代碼托管: GitHub 提供了一個地方,開發(fā)者可以存儲和管理他們的代碼倉庫,無論是開源項目還是私有項目。版本控制: 使用 Git 來追蹤代碼的變化歷史,允許用戶回滾到以前的狀態(tài)或查看修改記錄。協(xié)作工具: 包括 Pull Requests(拉取請求)和 Issues(問題跟蹤),幫助團隊成員協(xié)同工作,進行代碼審查和討論。社區(qū): GitHub 是一個龐大的開發(fā)者社區(qū),用戶可以相互關(guān)注、參與討論、貢獻代碼和文檔,以及發(fā)現(xiàn)和參與開源項目。項目管理: 提供了項目板和里程碑等功能,幫助團隊規(guī)劃和跟蹤項目進展。持續(xù)集成/持續(xù)部署 (CI/CD): 通過 GitHub Actions 自動化構(gòu)建、測試和部署流程。安全和合規(guī): 包括代碼掃描、依賴關(guān)系審計和合規(guī)性工具,以維護代碼的安全和質(zhì)量。
二、本地環(huán)境介紹
2.1 本地環(huán)境規(guī)劃
本次實踐為個人測試環(huán)境,操作系統(tǒng)版本為centos7.6。
| hostname | 本地P地址 | 操作系統(tǒng)版本 | 內(nèi)核版本 | node版本 |
|---|---|---|---|---|
| ubuntu-001 | 192.168.3.251 | 22.04.1 LTS | 5.15.0-113-generic | v20.10.0 |
2.2 本次實踐介紹
1.本次實踐部署環(huán)境為個人測試環(huán)境,生產(chǎn)環(huán)境請謹(jǐn)慎;
2.在Ubuntu環(huán)境下通過SSH免密連接Github倉庫。
三、檢查本地環(huán)境
3.1 檢查本地操作系統(tǒng)版本
- 檢查本地操作系統(tǒng)版本
root@ubuntu-001:~# cat /etc/os-release PRETTY_NAME="Ubuntu 22.04.1 LTS" NAME="Ubuntu" VERSION_ID="22.04" VERSION="22.04.1 LTS (Jammy Jellyfish)" VERSION_CODENAME=jammy ID=ubuntu ID_LIKE=debian HOME_URL="https://www.ubuntu.com/" SUPPORT_URL="https://help.ubuntu.com/" BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/" PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy" UBUNTU_CODENAME=jammy
3.2 檢查系統(tǒng)內(nèi)核版本
- 檢查系統(tǒng)內(nèi)核版本
root@ubuntu-001:~# uname -r 5.15.0-113-generic
四、Git本地環(huán)境配置工作
4.1 安裝Git工具
- 直接執(zhí)行以下命令,安裝git工具。
apt install git -y

- 查看git版本,默認(rèn)安裝版本為
2.34.1。
root@ubuntu-001:~# git version git version 2.34.1
4.2 創(chuàng)建項目目錄
- 創(chuàng)建一個測試項目目錄
mkdir -p /data/myproject && cd /data/myproject
4.3 配置用戶信息
- 配置該git的使用者
git config --global user.name "jeven"
- 配置git使用者的郵箱
git config --global user.email "123456@qq.com"
- 使文本高亮
git config --global color.ui true
- 查看git配置信息
cat ~/.gitconfig

4.4 初始化本地倉庫
- 初始化當(dāng)前本地倉庫
git init

五、通過SSH連接Github
5.1 安裝ssh
- 執(zhí)行以下命令啊,安裝SSH。
apt install ssh -y
5.2 創(chuàng)建密鑰文件
使用ssh-keygen生成SSH密鑰時,程序首先提示確認(rèn)密鑰的保存位置及文件名,通常默認(rèn)為~/.ssh/id_rsa,按Enter接受即可。接著會讓你輸入密鑰口令,留空則無需密碼即可使用密鑰。整個過程中,只需一直按Enter接受默認(rèn)選項。最終會在.ssh目錄下生成id_rsa私鑰和id_rsa.pub公鑰文件。
ssh-keygen -t rsa -C "郵箱地址"

5.3 將公鑰添加到Github
- 查看并復(fù)制本地公鑰
cat ~/.ssh/id_rsa.pub

登陸到GitHub上,右上角小頭像->Setting->SSH and GPG keys中,點擊new SSH key。


將本地的公鑰文件復(fù)制到key下面,點擊“Add SSH key”。

六、上傳項目到Github
6.1 在本地倉庫創(chuàng)建項目
- 在本地倉庫創(chuàng)建測試項目
root@ubuntu-001:/data/myproject# mkdir -p ./{aa,bb,cc}
root@ubuntu-001:/data/myproject# ls
aa bb cc
root@ubuntu-001:/data/myproject# echo "hello test" > bk.txt
6.2 將項目文件保存在暫存區(qū)
- 執(zhí)行以下命令,將將項目文件保存在暫存區(qū)。
git add .
6.3 將文件保存到本地倉庫
- 將暫存區(qū)文件保存在本地倉庫
git commit -m "1.0 master-jeven create item for test "

6.4 添加遠(yuǎn)程倉庫
添加自己gitHub的遠(yuǎn)程倉庫,其中倉庫地址填寫格式為“ git@github.com:Username/Repositories_Name.git”。
git remote add origin git@github.com:awakm618/myprojetc.git
6.5 上傳項目
執(zhí)行以下命令,將測試項目上傳到Github。
git push -u origin master

6.6 檢查項目
在Github倉庫中,查看剛才上傳的項目是否成功。

七、總結(jié)
配置SSH免密碼連接對于在Ubuntu系統(tǒng)中使用GitHub具有重要意義,它不僅提升了開發(fā)效率,還增強了安全性。通過SSH密鑰對進行身份驗證,避免了頻繁輸入密碼的繁瑣過程,同時由于私鑰保存在本地,相比密碼認(rèn)證提供了更好的數(shù)據(jù)保護。設(shè)置SSH免密碼登錄至GitHub是每個開發(fā)者應(yīng)該掌握的基礎(chǔ)技能,它簡化了工作流程,確保了代碼提交過程的安全與便捷。
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Linux Centos yum-config-manager --add-repo添
這篇文章主要介紹了解決Linux Centos yum-config-manager --add-repo添加倉庫添加錯誤問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
Linux(Ubuntu 18.04)上安裝Anaconda步驟詳解
Anaconda是最受歡迎的python數(shù)據(jù)科學(xué)和機器學(xué)習(xí)平臺,用于大規(guī)模數(shù)據(jù)處理,預(yù)測分析和科學(xué)計算。這篇文章主要介紹了Linux(Ubuntu 18.04)上安裝Anaconda的方法,需要的朋友可以參考下2018-11-11
Ubuntu20.04安裝Python3的虛擬環(huán)境教程詳解
這篇文章主要介紹了Ubuntu20.04安裝Python3的虛擬環(huán)境,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-06-06
LNAMP架構(gòu)中后端Apache獲取用戶真實IP地址的2種方法
Nginx作為前端,Apache作為后端的情況下,Apache只能獲取到Nginx前端的ip地址(127.0.0.1),而無法獲取到用戶的真實ip地址,在這種情況下,后端Apache如何獲取用戶真實IP地址?2014-03-03
淺析Linux下利用coredump技術(shù)追查進程崩潰原因
這篇文章主要介紹了Linux下利用coredump技術(shù)追查進程崩潰原因,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-12-12
Linux centos如何讓普通用戶獲取root權(quán)限
這篇文章主要介紹了Linux centos如何讓普通用戶獲取root權(quán)限問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05

