Bạn thấy mệt mỏi với việc phải tạo personal access token mỗi lần muốn clone một repository riêng tư? Nếu bạn đang phải “vật lộn” với lỗi “403 Forbidden”, thì chuyển sang dùng SSH là quyết định sáng suốt nhất. Bạn chỉ cần thiết lập một lần duy nhất cho mỗi máy tính, và nó sẽ xử lý việc xác thực của bạn một cách an toàn và tự động ở chế độ nền.
Dưới đây là cách chính xác để thiết lập nó.
Giai đoạn 1: Tạo và lưu trữ Key của bạn
Đầu tiên, chúng ta cần tạo một cặp khóa (key pair) bảo mật trên máy của bạn. Mở terminal (hoặc Git Bash trên Windows) và dán lệnh này vào, thay thế phần email bằng địa chỉ email GitHub của bạn:
Bash
ssh-keygen -t ed25519 -C "your_email@example.com"
Nhấn Enter để chấp nhận vị trí lưu file mặc định. Khi được yêu cầu nhập mật khẩu (passphrase), bạn có thể gõ một mật khẩu để tăng thêm tính bảo mật hoặc nhấn Enter hai lần để bỏ qua.
Tiếp theo, hãy khởi động SSH agent ở chế độ nền và thêm key mới tạo của bạn vào đó:
Bash
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
Giai đoạn 2: Thêm Key vào tài khoản GitHub của bạn
Bây giờ, bạn cần cung cấp phần “public” (khóa công khai) của key cho GitHub. Hãy in nội dung key ra màn hình terminal bằng lệnh sau:
Bash
cat ~/.ssh/id_ed25519.pub
Sao chép toàn bộ đoạn mã vừa hiện ra (nó thường bắt đầu bằng ssh-ed25519 và kết thúc bằng email của bạn). Sau đó, chuyển sang trình duyệt web:
- Truy cập vào phần Settings (Cài đặt) trên GitHub của bạn.
- Nhấp vào SSH and GPG keys ở menu bên trái.
- Nhấn vào nút New SSH key màu xanh lá cây.
- Đặt một tiêu đề dễ nhớ (ví dụ: “Laptop Cá nhân”) và dán key bạn vừa sao chép vào hộp văn bản lớn.
- Nhấp vào Add SSH key.
Giai đoạn 3: Kiểm tra kết nối và Clone
Hãy đảm bảo rằng máy tính của bạn và GitHub đang kết nối với nhau một cách chính xác. Chạy bài kiểm tra nhanh này trong terminal:
Bash
ssh -T git@github.com
Mẹo nhỏ: Nếu có một cảnh báo hiện ra hỏi bạn có muốn tiếp tục kết nối với máy chủ không (continue connecting), chỉ cần gõ yes và nhấn Enter.
Nếu bạn thấy thông báo có nội dung, “Hi username! You’ve successfully authenticated,” (Chào [tên bạn]! Bạn đã xác thực thành công) thì mọi thứ đã hoàn tất! Bây giờ bạn có thể hoàn toàn bỏ qua các rắc rối với HTTPS và clone repository của mình bằng định dạng URL SSH:
Bash
git clone git@github.com:afa111/ztafd.git