Tạo Ssh Key Và Sử Dụng Ssh Key Trong Git

  • 1 SSH?
  • 2 Cơ chế làm việc
  • 3 Sinh SSH key
    • 3.1 Bước 1: Kiểm tra xem máy bạn có ssh key nào chưa
    • 3.2 Bước 2: Sinh một SSH key mới
    • 3.3 Bước 3: Thêm key của bạn vào ssh-agent
    • 3.4 Bước 4: Thêm ssh public key vào tài khoản trên server của bạn (github, bitbucket…)
    • 3.5 Bước 5: Kiếm tra lại xem mọi thứ đã OK chưa:
  • 4 Thêm chút nữa:
      • 4.0.1 Related
SSH?

SSH(Secure Shell) là một giao thức mạng dùng để thiết lập kết nối mạng một cách bảo mật. Khi làm việc với git, ssh sẽ giúp ta trong 2 việc: 1. Bảo mật các kết nối của mình với server. 2. Không phải nhập mật khẩu mỗi lần push code.

Cơ chế làm việc

Bạn sẽ có 2 key: public key và private key. Bạn sẽ gửi public key của mình cho git server của bạn (bitbucket hay github chẳng hạn). Xong, ssh-agent sẽ làm tất cả những việc còn lại cho bạn. Mỗi lần bạn push, ssh-agent sẽ tự gửi kèm các thông tin chứng thực đi, github sẽ nhận diện ra bạn, và bạn không cần phải nhập mật khẩu nữa. Mình giải thích một cách đơn giản nhất có thể, còn nếu bạn muốn tìm hiểu sâu hơn về cơ chế bên trong, vui lòng đọc trang wiki mà mình đưa ở đầu bài

Sinh SSH key

Bước 1: Kiểm tra xem máy bạn có ssh key nào chưa

Mở cửa sổ dòng lệnh (terminal) và chạy lệnh:

1 2 ls al ~/.ssh

Lệnh trên sẽ kiểm tra trong thư mục .ssh (nằm ở thư mục gốc của user bạn đang đăng nhập vào máy, vd trên Mac: /Users/binhcq/.ssh) có ssh key nào chưa, mặc định, các ssh key thường sẽ có dạng:

1 2 3 4 5 6 id_rsa id_rsa.pub id_dsa.pub id_ecdsa.pub id_ed25519.pub

public key sẽ có đuôi .pub (id_rsa.pub), private key thì không có đuôi (id_rsa) Nếu có một cặp ssh key nào trong thư mục này (giả sử là id_rsa và id_rsa.pub), bạn có thể bỏ qua Bước 2 và chuyển thẳng sang Bước 3.

Bước 2: Sinh một SSH key mới

  • Chạy lệnh sau trên terminal
1 2 sshkeygen t rsa b 4096 C [email protected]
  • Để tránh phiền phức sau này, mình khuyên bạn nên để các cài đặt ở mặc định, như lần này, ssh-agent hỏi bạn muốn lưu key của mình ở đâu thì bạn cứ thế mà Enter thôi:
1 2 Enter file in which to save the key (/Users/binhcq/.ssh/id_rsa): [Press enter]
  • Tiếp đến thì nhập mật khẩu cho key của bạn
1 2 3 Enter passphrase (empty for no passphrase): [Type a passphrase] # Enter same passphrase again: [Type passphrase again]

Lưu ý mật khẩu khi bạn gõ vào nó sẽ không hiển thị mấy dấu ******* như bình thường, nhưng bạn cứ gõ xong rồi Enter thôi. Thêm nữa, bạn nên chọn một mật khẩu ĐỦ MẠNH cho mình, bạn có thể xem thêm lý do tại đây * Sau khi nhập mật khẩu, bạn sẽ nhận được thông báo về việc mật khẩu đã lưu vào địa chỉ lúc nãy bạn chỉ định:

1 2 3 4 5 Your identification has been saved in /Users/you/.ssh/id_rsa. # Your public key has been saved in /Users/you/.ssh/id_rsa.pub. # The key fingerprint is: # 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db [email protected]

Bước 3: Thêm key của bạn vào ssh-agent

ssh-agent là trình quản lý ssh key của bạn, công việc của nó thì nãy mình có nói qua ở trên rồi đó. * Đảm bảo rằng ssh-agent đã được kích hoạt bằng lệnh:

1 2 3 eval “$(ssh-agent -s)” # Agent pid 59566
  • Add ssh key của bạn vào ssh-agent
1 2 sshadd ~/.ssh/id_rsa

Lưu ýid_rsa chính là private key của bạn, nếu ở bước 2, bạn có key khác thì thay tên key tương ứng vào.

Từ khóa » Cách Tạo Ssh Key Gitlab