Gitlab配置ssh連接

ssh公鑰登錄

一般在管理遠(yuǎn)程主機(jī)時(shí)佃延,都用ssh登錄杭抠,ssh user@host褒搔,但是這樣每次會(huì)使用密碼阶牍。 使用ssh-keygen生成的密鑰對(duì)喷面,然后將公鑰添加的目標(biāo)主機(jī)的~/.ssh/authorized_keys文件中,當(dāng)前主機(jī)就成為可信任的主機(jī)荸恕,下次使用ssh登錄時(shí)乖酬,就不用輸入密碼了。

Gitlab融求,Github都支持這種方式的連接咬像,具體操作步驟如下:

第一步:生成密鑰對(duì)

使用ssh-keygen生成密鑰對(duì):

ssh-keygen-t rsa-C"你的郵箱"

這樣就在主目錄下的.ssh目錄中生成了兩個(gè)文件id_rsa和id_rsa.pub。id_rsa中保存的是私鑰生宛,id_rsa.pub中保存的是公鑰县昂。

第二步:添加公鑰

拷貝公鑰到剪切板:

pbcopy

在 個(gè)人資料->SSH Keys->Add new 頁面中粘貼公鑰,就添加完成了陷舅。

第三步:測(cè)試

ssh加-T選項(xiàng)測(cè)試目標(biāo)服務(wù)是否可用:

ssh-T git@"你的gitlab服務(wù)器地址"

第一次連接時(shí)倒彰,會(huì)詢問是否信任主機(jī),確認(rèn)后輸入yes莱睁。如果看到Welcome to GitLab, Rusher!就算配置成功了待讳,接下來就可以通過ssh來提交代碼了。

Windows

下載Git-Bash

生成密鑰對(duì)ssh-keygen -t rsa -C "你的郵箱"

生成之后用notepad c:/User/Administrator/.ssh/id_rsa.pub打開文件仰剿,然后將公鑰添加的Gitlab中.

測(cè)試ssh -T git@"你的gitlab服務(wù)器地址"

Gitlab服務(wù)端配置

(只使用客戶端可忽略這節(jié)內(nèi)容)

在客戶端提交時(shí)發(fā)現(xiàn)以下錯(cuò)誤:

/usr/local/lib/ruby/1.9.1/net/http.rb:762:in`initialize': getaddrinfo: Name or service not known (SocketError)

from /usr/local/lib/ruby/1.9.1/net/http.rb:762:in `open'

from /usr/local/lib/ruby/1.9.1/net/http.rb:762:in `block in connect'

from/usr/local/lib/ruby/1.9.1/timeout.rb:54:in`timeout'

from /usr/local/lib/ruby/1.9.1/timeout.rb:99:in `timeout'

from /usr/local/lib/ruby/1.9.1/net/http.rb:762:in `connect'

from/usr/local/lib/ruby/1.9.1/net/http.rb:755:in`do_start'

from /usr/local/lib/ruby/1.9.1/net/http.rb:744:in `start'

from /home/git/gitlab-shell/lib/gitlab_net.rb:64:in `get'

from/home/git/gitlab-shell/lib/gitlab_net.rb:30:in`check'

from ./check:11:in `'

在Github的issue里找到說先運(yùn)行一下/home/git/gitlab-shell/bin/check创淡。先做檢測(cè),發(fā)現(xiàn)和上面一樣的錯(cuò)誤南吮×詹剩看錯(cuò)誤是找不到域名,所以在/etc/hosts中需要配置一個(gè)地址的映射部凑。

127.0.0.1YOUR_DOMIN# YOUR_DOMIN是在/home/git/gitlab-shell/config.yml中配置的gitlab_url

擴(kuò)展:ssh多用戶切換

在配置Gitlab的時(shí)候一開始是用管理員賬戶做測(cè)試的露乏,后來建了我自己的賬號(hào)做開發(fā)。這樣我的本地就有兩個(gè)Gitlab賬號(hào)涂邀,如果直接用ssh來提交代碼有問題瘟仿,因?yàn)閟sh默認(rèn)使用一開始生成id_rsa那個(gè)密鑰對(duì),但不同的賬號(hào)又不能對(duì)應(yīng)到同一個(gè)公鑰上比勉。如果多個(gè)賬戶一起用猾骡,還需要做些配置。

假如有兩個(gè)賬號(hào):root和rusher敷搪。

第一步:為兩個(gè)賬戶分別生成密鑰對(duì)

提示在哪里存儲(chǔ)密鑰文件的時(shí)候,對(duì)不同的賬號(hào)填不同的路徑幢哨,root放在/Users/you/.ssh/id_rsa_gitlab_root下赡勘,rusher的放在/Users/you/.ssh/id_rsa_gitlab_rusher

ssh-keygen-t rsa-C rusher@you.com

Generatingpublic/privatersa key pair.

Enterfileinwhich to save the key(/Users/you/.ssh/id_rsa):/Users/you/.ssh/id_rsa_gitlab_rusher

Enterpassphrase(emptyfornopassphrase):

Entersame passphrase again:

Youridentification has been savedin/Users/you/.ssh/id_rsa_gitlab_rusher.

Yourpublickey has been savedin/Users/you/.ssh/id_rsa_gitlab_rusher.pub.

ssh-keygen-t rsa-C root@you.com

Generatingpublic/privatersa key pair.

Enterfileinwhich to save the key(/Users/you/.ssh/id_rsa):/Users/you/.ssh/id_rsa_gitlab_root

Enterpassphrase(emptyfornopassphrase):

Entersame passphrase again:

Youridentification has been savedin/Users/you/.ssh/id_rsa_gitlab_root.

Yourpublickey has been savedin/Users/you/.ssh/id_rsa_gitlab_root.pub.

還是需要將兩個(gè)賬號(hào)的公鑰分別添加的各自賬號(hào)的SSH Keys中(rusher: id_rsa_gitlab_rusher.pub和root: id_rsa_gitlab_root.pub) 。

ssh-add/Users/you/.ssh/id_rsa_gitlab_rusher

ssh-add/Users/you/.ssh/id_rsa_gitlab_root

第二步:添加ssh配置文件

在.ssh目錄中添加config文件捞镰,此文件的為不同的賬戶添加別名(root: root_gitlab 和 rusher: rusher_gitlab)闸与,連接還是同一個(gè)服務(wù)器毙替,但是使用不同的密鑰文件,所以才能將兩個(gè)賬號(hào)分開践樱。

# for root

Hostroot_gitlab

HostNamegit.you.com

Usergit

IdentityFile/Users/you/.ssh/id_rsa_gitlab

# for rusher

Hostrusher_gitlab

HostNamegit.you.com

Usergit

IdentityFile/Users/you/.ssh/id_rsa_gitlab_rusher

配置完成后厂画,使用ssh-add命令

接下來這樣使用別名測(cè)試,可以查看是否對(duì)應(yīng)到了正確的賬號(hào)上:

ssh-T git@root_gitlab

ssh-T git@rusher_gitlab

第三步:在git項(xiàng)目中使用別名

正常的項(xiàng)目拷邢,我們clone下來之后袱院,origin對(duì)應(yīng)的URL假設(shè)為:git@git.:Rusher/helloworld,現(xiàn)在需要做個(gè)改動(dòng)瞭稼,將git.要換成rusher_gitlab,

git remoteset-url origin git@rusher_gitlab:Rusher/helloworld

如果是root用戶的項(xiàng)目:

git remoteset-url origin git@root_gitlab:root/helloworld

以上配置ssh的方法同樣適用于Github,Bitbucket等網(wǎng)站忽洛。

參考文檔

Github Help

為不同賬號(hào)生成密鑰對(duì)后,需要使用ssh-add將密鑰添加進(jìn)來环肘,否則ssh不能使用正確的密鑰

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末欲虚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子悔雹,更是在濱河造成了極大的恐慌复哆,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件腌零,死亡現(xiàn)場離奇詭異梯找,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)莱没,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門初肉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人饰躲,你說我怎么就攤上這事牙咏。” “怎么了嘹裂?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵妄壶,是天一觀的道長。 經(jīng)常有香客問我寄狼,道長丁寄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任泊愧,我火速辦了婚禮伊磺,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘删咱。我一直安慰自己屑埋,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布痰滋。 她就那樣靜靜地躺著摘能,像睡著了一般续崖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上团搞,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天严望,我揣著相機(jī)與錄音,去河邊找鬼逻恐。 笑死像吻,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的梢莽。 我是一名探鬼主播萧豆,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼昏名!你這毒婦竟也來了涮雷?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤轻局,失蹤者是張志新(化名)和其女友劉穎洪鸭,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體仑扑,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡览爵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了镇饮。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蜓竹。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖储藐,靈堂內(nèi)的尸體忽然破棺而出俱济,到底是詐尸還是另有隱情,我是刑警寧澤钙勃,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布蛛碌,位于F島的核電站,受9級(jí)特大地震影響辖源,放射性物質(zhì)發(fā)生泄漏蔚携。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一克饶、第九天 我趴在偏房一處隱蔽的房頂上張望酝蜒。 院中可真熱鬧,春花似錦矾湃、人聲如沸亡脑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽远豺。三九已至,卻和暖如春坞嘀,著一層夾襖步出監(jiān)牢的瞬間躯护,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來泰國打工丽涩, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留棺滞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓矢渊,卻偏偏與公主長得像继准,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子矮男,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理移必,服務(wù)發(fā)現(xiàn),斷路器毡鉴,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • GIT分布式版本控制系統(tǒng)最佳實(shí)踐 這篇文章來自于老男孩教育高級(jí)架構(gòu)師班12期的徐亮偉同學(xué)崔泵。 首先感謝老男孩架構(gòu)師班...
    meng_philip123閱讀 3,408評(píng)論 4 36
  • GitLab是一個(gè)利用Ruby on Rails開發(fā)的開源應(yīng)用程序,實(shí)現(xiàn)一個(gè)自托管的Git項(xiàng)目倉庫猪瞬,可通過Web界...
    YHWXQ簡簡單單的生活閱讀 87,952評(píng)論 3 37
  • 背景 公司最近將代碼由svn遷移到了gitlab來托管憎瘸,我個(gè)人平時(shí)也經(jīng)常使用Github,可是公司郵箱與我的Git...
    洛城夜雨閱讀 1,941評(píng)論 0 5
  • ## 1陈瘦、選擇創(chuàng)建新項(xiàng)目 登錄成功后幌甘,點(diǎn)擊導(dǎo)航條上的 “+” 就可以進(jìn)入創(chuàng)建項(xiàng)目的頁面 ## 2、填寫項(xiàng)目的信息 ...
    smkoc閱讀 2,362評(píng)論 0 1