Chỉ định file Private Key khi commit và push source lên GitHub


Trong bài viết trước của mình: Hướng dẫn xác thực tự động tài khoản Git, Github, Gitlab. Mình có hướng dẫn cách xác thực tài khoản bằng cách sử dụng SSH Keys. file Private Key id_rsa được lưu ở thư mục ~/.ssh trên Ubuntu. Tuy nhiên, nếu bạn làm nhiều dự án với source code đặt ở nhiều nơi hay nhiều tài khoản GitHub, Gitlab. Khi đó, bạn có rất nhiều file Private Key, bạn ko thể nào cứ copy chúng vào 1 vị trí được.

Vậy hướng dẫn dưới đây, mình sẽ hướng dẫn bạn 5 cách chỉ định file Private Key khi sử dụng lệnh git.

1. Sử dụng ssh-agent

VD sau sử dụng ssh-agent để chỉ định file ~/private-key/id_rsa_1 để thực hiện lệnh git clone source từ GitHub

ssh-agent sh -c 'ssh-add ~/private-key/id_rsa_1; git clone git@github.com:<username>/vinasupport.com.git'

2. Sử dụng GIT_SSH_COMMAND

Từ Git version 2.3.0, bạn có thể sử dụng biên môi trường GIT_SSH_COMMAND để chỉ định file Private Key

GIT_SSH_COMMAND='ssh -i ~/private-key/id_rsa_2 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no' git clone git@github.com:<username>/vinasupport.com.git

3. Sử dụng GIT_SSH

Cách sử dụng tương tự GIT_SSH_COMMAND

echo 'ssh -i ~/private-key/id_rsa_3 -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no $*' > ssh
chmod +x ssh
GIT_TRACE=1 GIT_SSH='./ssh' git clone git@github.com:<username>/vinasupport.com.git

4. Cấu hình file ~/.ssh/config

Sửa file ~/.ssh/config và thêm nội dung như bên dưới

Host github.com
  User <username>
  Hostname github.com
  IdentityFile ~/private-key/id_rsa_4

5. Cấu hình core.sshCommand

Từ Git version 2.10.0, bạn có thể sử dụng lệnh git config để chỉ định file Private Key

git config core.sshCommand "ssh -i ~/private_key/id_rsa_5 -F /dev/null"
git clone git@github.com:<username>/vinasupport.com.git

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web