問:為什麼要配置ssh?
答:因為每次同步遠端**都需要輸入密碼,使人低效又煩躁。
另外,github 不配置 ssh ,會有大檔案限制,如果超過一定大小,會出現錯誤error54,就像這樣:
git error: rpc failed; curl 56 libressl ssl_read: ssl_error_syscall, errno 54
所以,不要磨鍊自己的耐心了,也為了方便,麻利地配起來~
命令如下所示:
ssh-keygen -t rsa -c "[email protected]" // 替換成你自己的郵箱
執行命令時會讓你輸入名稱和密碼,名稱如果不輸入,預設是id_isa。如果只配乙個賬戶,預設即可,如果需要多個git 賬戶都要配置ssh,最好起個名字,建議使用平台名稱,方便區分。
執行成功後果~/.ssh 會生成兩個檔案,分別私鑰(***.pub)和金鑰。下圖有兩對檔案,github/github.pub 是自定義名稱的一對,id_rsa 和 id_rsa.pub 是一對。
這裡需要說明一下,因為預設只讀取id_rsa,為了讓ssh識別新的私鑰,需將其新增到ssh agent中,命令是:
ssh-add
下圖可以明顯看到 id_rsa 預設已經新增,自定義的名稱需要輸入密碼。
這一步需要獲取公鑰的內容,然後貼上到遠端 git ,例如 github 和 gitlab
獲取公鑰內容,命令如下所示:
以 github 為例,新增 ssh 配置的入口在 setting-ssh and gpg keys ,將上一步的內容貼上,並自定義名稱即可。按照我的經驗,如果有多台電腦,名稱最好標識下電腦,方便區分,例如xx_work,***_personal 等等
命令為:
問:為什麼要有多賬戶配置?配置步驟如下:答:因為在實際的工作學習場景中,公司的遠端**倉庫大多是自己搭建的,例如我司就是gitlab,需要配置乙個ssh,個人學習**倉庫在github,也要配置乙個ssh,所以必須要配置倆了。
第一步:生成ssh 金鑰時,多對金鑰,要取不同的名字,用來區分(例如我比較喜歡用平台命名,命名為github 和 gitlab)
第二步:遠端git 配置 ssh 公鑰,各自配置各自平台。
第三步:配置ssh config 檔案。這個下面詳細講。
第四步:將兩個金鑰加入鑰匙串,然後分別測試是否配置成功
基本步驟和單賬戶基本一致,關鍵步驟在配置 ssh config 檔案,下面針對該點展開。
問:ssh config 是什麼?ssh 的配置檔案有兩個:答:ssh config 是 linux 系統下針對 ssh 客戶端的乙個引數配置方案,可以將一些關於 ssh 命令的引數放到配置檔案中去,執行 ssh 命令的時候從檔案中讀取,簡化命令列的操作。
我們配置的時候,只需要關注使用者配置檔案~/.ssh/config
即可。
進入~/.ssh/
目錄,檢視是否有 config 檔案,有可直接修改,沒有就手動建立。結合第一步建立的兩個金鑰,現在~/.ssh/ 在的檔案組成為:
config 中的檔案配置如下內容:
# github
host github.com
hostname github.com
user your_login_name
identityfile ~/.ssh/github
# gitlab
host gitlab.***.com
hostname gitlab.***.com
user your_login_name
identityfile ~/.ssh/gitlab
配置項說明:
user:使用者名稱,可以自定義,提交的時候使用者名稱會採用該使用者名稱
identityfile:指定本次連線使用的金鑰檔案
配置完成後,使用以下命令測試連線即可。
# 新增金鑰到本地鑰匙串
ssh-add # 測試連線
ssh -t [email protected]
使用過程中,發現重啟電腦後,竟然需要重新輸入密碼,小朋友有很多小問號,why?
我看了下自己的電腦配置已經是 10.14.5 了,原來如此,這樣就破案了。
官網也針對修改,提供了兩個配置項addkeystoagent
和usekeychain
,可以在 config 檔案中配置為 yes:
# github
host github.com
hostname github.com
user your_login_name
identityfile ~/.ssh/github
# 載入到 ssh-agent
addkeystoagent yes
# 新增到使用者鑰匙串
usekeychain yes
# gitlab
host gitlab.***.com
hostname gitlab.***.com
user your_login_name
identityfile ~/.ssh/gitlab
# 載入到 ssh-agent
addkeystoagent yes
# 新增到使用者鑰匙串
usekeychain yes
git常見錯誤整理
ssh config 那些你所知道和不知道的事
mac os sierra ssh金鑰在重啟後丟失的問題
SSH 免密登入配置
有兩種方式 私鑰登入和公鑰登入 私鑰登入 1 在主機a上生成秘鑰對 ssh keygen t rsa c 注釋文字 將生成的秘鑰對中的私鑰id rsa 複製到將要登入a機器的主機檔案中一班使用字尾.pem,例如 cat id rsa my.pem 2 將上述私鑰檔案交給授權登入的主機,注意,私鑰很重...
SSH免密登入配置
進入到hadoop使用者家目錄 cd 檢視當前目錄.ssh 隱藏檔案 ls al 進入ssh cd ssh 執行命令生成私鑰id rsa 公鑰 id rsa.pub ssh keygen t rsa 將公鑰內容放入hadoop1的authorized keys 檔案 ssh copy id hado...
SSH 免密登入配置
當你剛擁有乙個伺服器後,首先需要登入伺服器。本節主要聊一聊伺服器ssh登入配置。ssh p port root 12.234.567.789 p port 監聽的埠,如果不指定預設值為 22 vim ssh config 修改 ssh 配置檔案 ssh config host beijing hos...