背景:因為某些神奇的原因,無法同時授權倉庫權限給自己。
1.本地電腦只有權限訪問web倉庫地址,無權限訪問backend倉庫;
2.堡壘機服務器只有權限訪問backend倉庫,無權限訪問web倉庫地址。
web倉庫地址 :codeup.aliyun.com:/xxx/xxx.web.git ,
backend倉庫地址:codeup.aliyun.com:/xxx/xxx.backend.git ,
現在想在本地電腦或堡壘機服務器同時拉取兩個倉庫的代碼。
解決辦法
1 .將堡壘機服務器公鑰私鑰下載下來存放在本地.ssh目錄中
(base) ? ~ tree .ssh
.ssh
├── config
├── id_rsa
├── id_rsa_dev # 堡壘機私鑰
├── id_rsa_dev.pub # 堡壘機公鑰
├── id_rsa.pub
└── known_hosts
2.修改.ssh/config的配置
Host aliyun-backendUser dev # 在服務器上的用戶是devHostName codeup.aliyun.comPreferredAuthentications publickeyIdentityFile ~/.ssh/id_rsa_dev
3.拉取代碼
● 1.使用aliyun-backend別名去替換codeup.aliyun.com拉取代碼。
拉取的時候因為.ssh/config的地址映射,會自動解析倉庫地址,使用對應的秘鑰去拉取代碼
git clone git@aliyun-backend:/xxx/xxx.backend.git
● 2.如果已經將代碼倉庫拷貝下來了,只需進入倉庫目錄修改遠程目錄即可。
cd ~/xxx.backend
git remote set-url origin git@aliyun-backend:/xxx/xxx.backend.git