Làm thế nào để cài đặt ssh keys

Làm thế nào để cài đặt ssh keys

Trong bài hướng dẫn này bạn sẽ học cách cài đặt SSH keys trên máy của bạn và tạo ra cặp khóa để kết nối tới server từ xa.

Phương pháp này thuận tiện và an toàn hơn khi kết nối tới VPS thay vì chỉ sử dụng mật khẩu.

Ngoài ra, bạn cũng có thể xem qua bài hướng dẫn “Làm thế nào để kết nối tài khoản bằng Putty SSH Terminal”. Nó sẽ rất hữu ích nếu bạn đang dùng hệ điều hành Windows và không biết làm thế nào để kết nối tới server.

Bạn cần gì

Trước khi bắt đầu bạn cần chuẩn bị:

  • Khả năng truy cập vào máy tính hiện hành
  • Khả năng truy cập vào thiết bị từ xa
  • Một terminal phù hợp cho kết nối SSH

Bước 1 — Tạo SSH Keys

Bạn có thể tạo và cài đặt RSA keys trên hệ điều hành Linux / Unix sử dụng bất kỳ loại Terminal nào trên máy tính của bạn.

Sau khi vào trong Terminal, bạn sẽ thấy một cửa sổ giống như bên dưới:

Main terminal window

Tại đây bạn có thể gõ các lệnh cần thiết:

Đầu tiên để tạo cặp SSH keys từ máy tính cá nhân. Bạn có thể thực hiện việc này với một dòng lệnh đơn giản như sau:

ssh-keygen -t rsa

Sau khi bạn điền command này, một số câu hỏi sẽ hiện ra:

Enter file in which to save the key (/home/tautvydas/.ssh/id_rsa):

Thông thường tôi khuyên bạn là nên để nó như vậy (chỉ cần ENTER đừng gõ gì cả) key generator sẽ tạo một cặp khóa trong một đường dẫn mặc định (trong hướng dẫn này tôi đã điền một cái tên khác là tut_id để tránh tạo keys trùng, vì máy của tôi đã có cặp keys tên id_rsa được tạo từ trước). Câu hỏi thứ 2 sẽ hiện lên:

Enter passphrase (empty for no passphrase):

Rồi sau đó là:

Enter same passphrase again:

Vì lý do tiện lợn, tôi để trống. Bằng cách này sau khi cai keys lên server từ xa, bạn sẽ không cần dùng bất kỳ mật khẩu để đăng nhập. Bạn chỉ cần nhập lệnh ssh user@serverip và nó sẽ giúp bạn đăng nhập khi mà keys đã được cài đặt đúng. Nhưng nếu bạn muốn bảo mật hơn nữa, bạn có thể tạo một mật khẩu trong mục này. Nếu bạn làm vậy, bạn sẽ cần nhập password mỗi lần muốn truy cập tới server remote.

Chỉ vậy thôi, bạn sẽ nhìn thấy tương tự như hình sau trong Terminal:

Main terminal window

Hình được tạo của bạn sẽ khác so với của tôi. Cũng như khóa fingerprint.

QUAN TRỌNG!  Có 2 khóa được tạo ở đây (PRIVATE và PUBLIC): tut_id và tut_id.pub (trong trường hợp của bạn nó sẽ là id_rsa và id_rsa.pub). Hãy lưu THẬT cẩn thận file có tên id_rsa (đây là khóa PRIVATE), CHỈ lưu trên thiết bị local của bạn và ĐỪNG đưa nó cho BẤT KỲ AI.


File còn lại, id_rsa.pub phải được uploaded lên máy cần truy cập từ xa. Ví dụ, nếu bạn và bạn của bạn làm việc trong một project trong cùng một server từ xa, bạn sẽ cần đặt cả 2 public keys lên server này. Trong bước sau, bạn sẽ biết cách làm thế nào để thực hiện việc này.

Bước 2 — Copy Public key của cặp ssh keys lên máy chủ từ xa của bạn

Sau khi tạo ra cặp khóa RSA, chúng ta phải đặt khóa public lên server từ xa.

Có một dòng lệnh đơn giản để cài public key trực tiếp lên server từ xa với authorized_keys file ( file này lưu tất cả khóa public) :

ssh-copy-id user@serverip

Tại đây, thay thế serverip, thành địa chỉ IP của server từ xa của bạn và thay thế user thành tên đăng nhập của server mà bạn đang kết nối tới.

Sau khi enter, bạn sẽ được thông báo bằng một Cảnh báo tương tự bên dưới:

The authenticity of host 'Server's IP address' can't be established.

RSA key fingerprint is ...

Are you sure you want to continue connecting (yes/no)?

Gõi yes trong comand line và nhấn ENTER. Thông báo này chỉ hiện một lần khi bạn làm vậy.

Một thông báo khác sẽ hiện lên:

Warning: Permanently added 'SERVER IP' (RSA) to the list of known hosts.

user@serverip's password:

Tai đây bạn cần phải điền mật khẩu của username trên server từ xa mà bạn đang cố truy cập (hầu hết các trường hợp username sẽ là root). Sau khi nhập mật khẩu, bạn sẽ nhận được thông báo bên dưới:

Now try logging into the machine, with "ssh 'user@serverip'", and check in:

~/.ssh/authorized_keys*

to make sure we haven't added extra keys that you weren't expecting.

Khi public key đã được thêm vào trên remote server. Bây giờ mỗi khi bạn truy cập bạn không phải nhập password nữa (trừ khi bạn có tạo mật khẩu cho RSA key trong quá trình khởi tạo).

Kết luận

Trong bài hướng dẫn này, bạn đã học cách làm thế nào để tạo cặp SSH keys private/public và sử dụng những cặp khóa này để kết nối tới server và thiết lập một giao thức kết nối an toàn hơn là chỉ sử dụng mật khẩu như thông thường.

Author
Tác giả

Hai G.

Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp.