如何在云服務器上使用git管理項目(git遠程倉庫沦寂、ssh配置、多密鑰對配置)

本篇筆記中的云服務器是CentOS_7服務器淘衙,本地系統(tǒng)是Windows10传藏。筆記內容包含了Linux系統(tǒng)中的用戶創(chuàng)建、ssh登錄(多公鑰對配置)、創(chuàng)建遠程git根項目毯侦、push本地項目到云服務器中哭靖。
本文是一篇總結性文章,感謝諸多網友的無私奉獻侈离!由于是總結文章些許內容會直接引用參考文章试幽,在文中引用處會盡量注明。

創(chuàng)建用戶

在云服務器中管理git項目卦碾,直接用root用戶去管理是很危險的铺坞。本人創(chuàng)建一個名為git的用戶,使用密鑰對通過ssh鑒權的方式來管理git項目洲胖。步驟如下:

  • 創(chuàng)建用戶:useradd git济榨,使用root用戶登錄之后,創(chuàng)建一個用于管理git項目的賬號宾濒。該賬戶擁有/home/git位置的文件讀寫權限腿短。
  • 修改git用戶密碼:passwd git,密碼需要確認兩次绘梦。
  • 切換用戶登錄:su git橘忱,這一步很重要,涉及到設置ssh密鑰配置的步驟卸奉。
  • 創(chuàng)建ssh密鑰配置文件:
    # 進入/home/git目錄钝诚,
    cd /home/git
    # 創(chuàng)建git用戶的ssh密鑰配置位置,每個用戶都需要.ssh文件去管理其ssh安全配置
    mkdir .ssh
    # 創(chuàng)建authorized_keys文件榄棵,用來存放客戶端的公鑰
    touch .ssh/authorized_keys
    # 配置文件的讀寫權限
    chmod 700 .ssh
    chmod 600 .ssh/authorized_keys
    
    上面的步驟特別重要凝颇,如果在root用戶下創(chuàng)建、配置的.ssh.ssh/authorized_keys文件疹鳄,使用xshell登錄的時候就會提示用戶未注冊密鑰對拧略。

安裝ssh

正常來說云服務器都會提前安裝有ssh軟件的,但考慮特殊情況還是貼一篇參考文章:CentOS 7安裝和配置ssh瘪弓。
安裝成功之后垫蛆,就需要進一步配置git用戶端的ssh登錄密鑰了。我生成的密鑰對是在Windows10使用Xshell生成的腺怯,當然也可以用Windows10上的Git直接生成袱饭。
這里記錄使用git生成密鑰對的命令:

# 生成密鑰對,windows會在當前用戶目錄的.ssh中生成一對密鑰對呛占。
ssh-keygen -t rsa -C "***@***"

這里可以設置密碼確認兩次虑乖,亦或是直接回車回車回車,就成生成了密鑰對了晾虑。名稱是
私鑰 id_rsa 和 公鑰id_rsa.pub疹味。其中公鑰是要部署到我們云服務器的git用戶/home/git/.ssh/authorized_keys文件中的仅叫。
我們可以安裝一個用于云服務器上傳下載的軟件,很方便的:yum install lrzsz佛猛。
之后(這里使用git用戶):

# 進入git的.ssh目錄
cd /home/git/.ssh
# 選擇生成的id_rsa.pub文件
rz
# 查看并復制公鑰內容惑芭,之后粘貼到authorized_keys文件中
cat id_rsa.pub
# 也可使用命令追加到authorized_keys文件后面坠狡,多個公鑰記得換行
cat id_rsa.pub >> authorized_keys

設置完公鑰之后就要配置ssh了(這里使用root用戶)

# 如果怕把ssh_config文件改壞了继找,可以使用sz /etc/ssh/sshd_config文件備份到本地,改壞了再`cd /etc/ssh`逃沿,然后`rz`備份文件婴渡,覆蓋源文件即可。
vi /etc/ssh/sshd_config

在這里需要修改總共有4凯亮、5處地方边臼,有些朋友的sshd_config可能有點區(qū)別,下文會仔細說明假消。

  • 開啟端口:開啟22端口柠并,開啟該端口時記得配置云服務器的安全組和打開云服務器防火墻的22端口
    Port 22
    AddressFamily any
    ListenAddress 0.0.0.0
    ListenAddress ::
    
  • 配置允許使用ssh登錄的用戶:
    # 如果你的sshd_config配置中沒有改選項,添加即可富拗,多個用戶用空格隔開
    AllowUsers root git
    
  • 是否允許root用戶通過ssh登錄:
    # no就是不允許
    PermitRootLogin yes
    
  • 允許使用公鑰對登錄
    # no就是不允許臼予,這里設置yes
    PubkeyAuthentication yes
    
  • 公鑰配置文件
    # 改配置指向每個用戶的/home/'userName'/.ssh/authorized_keys文件
    AuthorizedKeysFile  .ssh/authorized_keys
    
  • 是否允許ssh密碼登錄
    # 不建議使用密碼登錄,用密鑰對更安全啃沪。配置no就不能通過密碼登錄粘拾。但是配置no之前請保證密鑰對可以正常登錄
    PasswordAuthentication yes
    
  • 其他:RSAAuthentication,有些文章里面也許會配置改選項创千。這里不是必須的缰雇,這是舊版本的配置。如果你的sshd_config文件中存在改選項追驴,那將其配置為RSAAuthentication yes即可
  • Protocol:加上Protocol 2械哟。

重啟sshd服務service sshd restart,如果重啟報錯請檢查上述內容是否配置出錯殿雪。

驗證ssh登錄

使用Windows10中的XShell暇咆,新建一個連接,輸入云服務器地址冠摄、登錄用戶糯崎,驗證方式選擇云服務器中配置的公鑰對應的私鑰,看看是否能登錄河泳。
能登錄的話沃呢,到此為止云服務器的ssh配置就ok了。

多個密鑰對配置

windows系統(tǒng)
如果你的PC存在多個密鑰對拆挥,需要和GitHub薄霜、Coding某抓、私人git倉庫等配對的話,你就需要在個人文件夾的/.ssh下配置一個config文件(文件名就是config惰瓜,不需要后綴否副。直接放在.ssh目錄下即可),內容如下

# 阿里云服務器
Host xxx.xxx.com(隨意名稱)                 
HostName xxx.xxx.xxx(ip地址或者域名)
PreferredAuthentications publickey(公鑰)
IdentityFile C:\Users\wangzh\.ssh\id_rsa_2048_root(云服務器的公鑰對應的私鑰)
User root(要登錄的用戶)
Port 22(端口崎坊,默認22的話可以不寫)  

# 阿里云git服務器备禀,多個配置后面追加
Host xxx.xxx.com(隨意名稱)                 
HostName xxx.xxx.xxx(ip地址或者域名)
PreferredAuthentications publickey(公鑰)
IdentityFile C:\Users\wangzh\.ssh\id_rsa_2048_git(云服務器的公鑰對應的私鑰)
User git(要登錄的用戶)
Port 22(端口,默認22的話可以不寫)  

如果你對私鑰加了密碼奈揍,在連接建立的時候就要求你輸入密碼就好了曲尸。
OS X或者Linux系列系統(tǒng)
如果密鑰對是從其他地方拷貝過來的話,連接的時候會提示Permission denied (publickey,gssapi-keyex,gssapi-with-mic).男翰。
解決辦法有3個步驟

  1. 設置私鑰權限為700另患,chmod 700 ~/.ssh/id_rsa_git(密鑰文件按照自命名的來)。
  2. 添加密鑰文件到/etc/ssh/ssd_config文件中蛾绎,使用命令ssh-add ~/.ssh/id_rsa_git昆箕。當然也可以直接修改/etc/ssh/ssd_config文件。
  3. 同樣的租冠,在當前用戶的~/.ssh/config文件中配置上述windows系統(tǒng)類似的配置鹏倘,只是密鑰路徑需要修改一下。

git創(chuàng)建倉庫

參考文章:Centos7搭建Git及安裝使用
使用ssh登錄git用戶肺稀,進入用戶home目錄第股。創(chuàng)建用于存放git項目的文件夾。我這里操作如下

cd ~
# 存放所有git項目倉庫的文件夾
mkdir git_rep
# 創(chuàng)建一個用于存放筆記的git倉庫
mkdir note
# 進入該倉庫话原,創(chuàng)建遠程git根項目
cd note
git init --bare note.git

至此夕吻,用于存放筆記的遠程git倉庫創(chuàng)建成功。

關聯(lián)遠程倉庫

創(chuàng)建一個本地git倉庫繁仁,隨便寫點啥涉馅。初始化并關聯(lián)遠程倉庫

# 初始化本地倉庫
git init 
# 提交本地文件
git add -A
git commit -m "首次提交"
# 關鍵,關聯(lián)本地倉庫到遠程倉庫黄虱,serverAddress是你的云服務器地址
# git是你的用戶名稚矿,也可以是root,是cat是dog捻浦。
# 例如dog@xxxx:/home/dog/git_rep/note/note.git
git remote add origin git@serverAddress:/home/git/git_rep/note/note.git
# 首次push并關聯(lián)master分支
git push -u origin master

這個時候可能會提示該連接未知晤揣,相信yes即可。
如果有多個git倉庫朱灿,就按照上文描述創(chuàng)建多個git倉庫即可昧识。當然也可以安裝像GitLab之類的服務器,但是對于配置差的服務器或者出于學習目的盗扒,這樣子搞搞陣就很好玩了跪楞。
本文純屬學習性質缀去,如有錯誤,勞煩請指出甸祭,十分感謝缕碎。

至此角虫,使用云服務器來管理git項目的步驟描述完畢了_炒瘟。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市纵东,隨后出現(xiàn)的幾起案子煞檩,更是在濱河造成了極大的恐慌处嫌,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件斟湃,死亡現(xiàn)場離奇詭異,居然都是意外死亡檐薯,警方通過查閱死者的電腦和手機凝赛,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坛缕,“玉大人墓猎,你說我怎么就攤上這事∽” “怎么了毙沾?”我有些...
    開封第一講書人閱讀 152,543評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長宠页。 經常有香客問我左胞,道長,這世上最難降的妖魔是什么举户? 我笑而不...
    開封第一講書人閱讀 55,221評論 1 279
  • 正文 為了忘掉前任烤宙,我火速辦了婚禮,結果婚禮上俭嘁,老公的妹妹穿的比我還像新娘躺枕。我一直安慰自己,他們只是感情好供填,可當我...
    茶點故事閱讀 64,224評論 5 371
  • 文/花漫 我一把揭開白布拐云。 她就那樣靜靜地躺著,像睡著了一般近她。 火紅的嫁衣襯著肌膚如雪叉瘩。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,007評論 1 284
  • 那天泄私,我揣著相機與錄音房揭,去河邊找鬼备闲。 笑死,一個胖子當著我的面吹牛捅暴,可吹牛的內容都是我干的恬砂。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼蓬痒,長吁一口氣:“原來是場噩夢啊……” “哼泻骤!你這毒婦竟也來了?” 一聲冷哼從身側響起梧奢,我...
    開封第一講書人閱讀 36,956評論 0 259
  • 序言:老撾萬榮一對情侶失蹤狱掂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后亲轨,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體趋惨,經...
    沈念sama閱讀 43,441評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,925評論 2 323
  • 正文 我和宋清朗相戀三年惦蚊,在試婚紗的時候發(fā)現(xiàn)自己被綠了器虾。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,018評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡蹦锋,死狀恐怖兆沙,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情莉掂,我是刑警寧澤葛圃,帶...
    沈念sama閱讀 33,685評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站憎妙,受9級特大地震影響库正,放射性物質發(fā)生泄漏。R本人自食惡果不足惜尚氛,卻給世界環(huán)境...
    茶點故事閱讀 39,234評論 3 307
  • 文/蒙蒙 一诀诊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧阅嘶,春花似錦属瓣、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至魂迄,卻和暖如春粗截,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背捣炬。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評論 1 261
  • 我被黑心中介騙來泰國打工熊昌, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留绽榛,地道東北人。 一個月前我還...
    沈念sama閱讀 45,467評論 2 352
  • 正文 我出身青樓婿屹,卻偏偏與公主長得像灭美,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子昂利,可洞房花燭夜當晚...
    茶點故事閱讀 42,762評論 2 345

推薦閱讀更多精彩內容