Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Hướng dẫn xác thực tự động tài khoản Git, Github, Gitlab - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Khác với SVN, khi sử dụng SVN để checkout, tài khoản của bạn sẽ tự động được ghi nhớ. Điều này có nghĩa rằng sau khi bạn đã nhập tài khoản và mật khẩu lần đầu, bạn sẽ không cần phải gõ lại chúng mỗi khi sử dụng các lệnh SVN khác.

Tuy nhiên, với Git, điều này hoàn toàn khác. Mặc định, Git luôn yêu cầu bạn nhập tên tài khoản và mật khẩu mỗi khi bạn thực hiện các hoạt động. Điều này có thể khiến việc làm việc với Git trở nên phiền phức.

Chính vì vậy, trong bài viết này, chúng tôi sẽ hướng dẫn bạn về 3 cách để tự động xác thực tài khoản Git. Các phương pháp này có thể được áp dụng cho các tài khoản Git trên các dịch vụ như Github, Gitlab và nhiều nền tảng khác.

Cách 1: Xác thực tự động với .netrc

Hãy tạo một file với đường dẫn ~/.netrc có nội dung như sau:

machine github.com
       login <username>
       password <password>

Lưu ý: 

  • Khi clone source bạn cần sử dụng đường dẫn với prefix là http/https thay cho ssh
  • Cách này chỉ áp dụng cho Linux, Mac. Windows thì không sử dụng được.
  • Password ở dạng plain text (Kém bảo mật)

Cách 2: Sử dụng git credential.helper

Sử dụng command bên dưới, sẽ cache lại tài khoản git của bạn.

$ git config credential.helper store
$ git clone https://github.com/vinasupport.com.git

Username for 'https://github.com': <USERNAME>
Password for 'https://USERNAME@github.com': <PASSWORD>

Bạn nên chỉ ra thời hạn lưu trữ tài khoản bằng command bên dưới:

$ git config --global credential.helper 'cache --timeout=3600'

Ví dụ trên mình chỉ lưu trữ thông tin tài khoản trong 3600 giây (1 giờ)

Cách 3: Sử dụng SSH Key

Đây là cách xác thực tốt nhất, giúp bảo mật tài khoản của bạn. Tuy nhiên nó hơi phức tạp, mình sẽ hướng dẫn các bạn từng bước.

Bước 1: Tạo một SSH Key:

$ ssh-keygen -t rsa -b 4096 -C "admin@vinasupport.com"

Câu lệnh trên sẽ tạo ra 1 cặp key là id_rsa (private key), và id_rsa.pub (public key), lưu trữ trong thư mục mặc định là ~/.ssh. Trong quá trình tạo key, bạn có thể chọn đường dẫn khác thay thế.

Bước 2: Thêm SSH Key vào tài khoản của bạn trên Github, Gitlab

Các bạn copy nội dung của file id_rsa.pub (Public key) vào tài khoản của bạn.

Trên Github: 

Truy cập vào đường dẫn từ tài khoản của bạn -> Settings -> SSH and GPG Keys -> Bấm vào button [ New SSH Key ] -> Nhập nội dung Public Key của bạn.

Trên Gitlab:

Truy cập vào đường dẫn từ tài khoản của bạn -> Settings -> SSH Keys –> Nhập nội dung Public Key của bạn.

Bước 3: Kiểm tra kết nối SSH của bạn

$ ssh -T git@github.com

Nếu các bạn nhận được thông báo dưới dây, SSH Keys của các bạn đang hoạt động tốt.

Hi username! You’ve successfully authenticated, but GitHub does not
provide shell access.

Để sao chép mã nguồn từ GitHub hoặc GitLab, bạn cần sử dụng đường dẫn không chứa “http/https” ở đầu, thay vào đó, bạn nên thay thế nó bằng:

$ git clone git@github.com:<username>/vinascript.com.git

Để lại một bình luậ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 *