使用root登錄服務器
- 添加一個新用戶(git倉庫的所有者)
useradd gituser # gituser---> 用戶名字
- 設置密碼
passwd gituser
- 配置sshd服務參數
vi /etc/ssh/sshd_config
RSAAuthentication yes # 啟用RSA 非對稱加密算法
PubkeyAuthentication yes # 公鑰認證
PasswordAuthentication yes #允許密碼認證
- 修改配置后需要重啟服務
systemctl restart sshd.service
- 切換到用戶gituser(剛新建的用戶)
su - gituser # 因為你是root 無需密碼
-
查看當前位置是/home/gituser,不是,切換到/home/gituser
-
創建一個git倉庫
git init --bare myproject.git # myproject.git --> 倉庫名字
- 創建一個 .ssh 文件夾
mkdir .ssh
- 設置.ssh目錄權限
chmod 700 .ssh
- 進入文件夾
cd .ssh
- 創建文件 authorized_keys
touch authorized_keys
- 設置authorized_keys權限
chmod 600 authorized_keys
- 編輯authorized_keys
vi authorized_keys # 里面寫入本機的公鑰
i # 寫入
Esc :x # 保存並退出
- 在本機的 .ssh 創建一個文件config里面寫入
Host myserver_git # 本機要連接服務器的名字
HostName 127.0.0.1 # 舉例 服務器的IP
User gituser # 服務器上的用戶
Port 22
PreferredAuthentications publickey
IdentityFile C:\Users\Jack-Roc\.ssh\jack_rsa # 指定本機的私鑰地址
- 將服務器的git倉庫下載到本地(克隆)
git clone gituser@myserver_git:~/myproject.git # myproject.git 服務器git倉庫的名字·
或
git clone gituser@myserver_git:/home/gituser/meproject.git # 寫給i他倉庫絕對地址
- 創建一個文件並提交
touch readme.txt # 創建readme.txt 文件
git add readme.txt # 添加到暫存區中
git commit -m "添加readme文件" # 提交到本地版本庫里
git push origin # 推送到遠程倉庫
git pull origin # 拉取文件
他人和自己想用一個git倉庫的話將他人的公鑰傳給你
寫入自己服務器的.ssh/authorized_keys 中 (空一行直接寫他人的公鑰)