HomeMáy chủ Linux

Hướng dẫn kết nối SSH sử dụng SSH Key

Like Tweet Pin it Share Share Email

Thông thường khi bạn tạo VPS bạn sẽ nhận được mật khẩu cho một user ‘root’, một user có quyền lớn nhất trên nền tảng Linux.

Bạn sẽ sử dụng tài khoản này để kết nối với máy chủ qua giao giao thức SSH.

Cách này không có tính bảo mật cao. Hacker có thể sử dụng tấn công BruteForce để dò ra mật khẩu của bạn.

Do vậy bạn nên chuyển sang dùng SSH Key để kết nối với VPS.

Bài viết này mình sẽ hướng dẫn bạn từng bước kết nối SSH dùng SSH key.

Cách làm việc của SSH Key

Cách kết nối này dựa trên cặp key: public key và private key.

Public key bạn đặt trên máy chủ. Còn private key bạn dùng khi từ client kết nối với máy chủ.

Kết nối thành công chỉ khi private key trùng với public key.

Cách làm việc cơ bản là như vậy. Bạn có thể hình dung public key là ổ khóa. Private là chìa khóa.

Chìa khóa khớp với ổ khóa nghĩa là bạn có thể kết nối với server.

Thực tế thành phần của SSH key bao gồm:

  • Public key: bạn sẽ copy xâu ký tự này vào file ~/.ssh/authorized_keys trên server bạn thuê
  • Private Key: bạn sẽ lưu file chứa private key vào máy tính local của bạn. Sau đó bạn cấu hình MobaXTerm để kết nối như hướng dẫn bên dưới
  • Keyphare: Mật khẩu để mở private, mỗi khi đăng nhập vào server sẽ hỏi thêm cái này.

Cách tạo SSH key

Ở đây mình chỉ hướng dẫn với Windows. Nếu máy tính bạn dùng hệ điều hành khác thì Google thêm.

Đầu tiên bạn cần tải về tool PuTTY-Gen.

Sau khi chạy về file exe bạn sẽ nhìn thấy cửa sổ làm việc như sau: ​

hướng dẫn kết nối ssh dùng ssh key 1

Click vào nút Generate để bắt đầu tạo cặp key.

Nhớ khi chương trình đang sinh key, bạn cần rê chuột vòng màn hình cho đến khi nó sinh key thành công​.

hướng dẫn kết nối ssh dùng ssh key 2

Sau khi tạo xong, bạn sẽ nhìn thấy màn hình như sau:

Bây giờ bạn sẽ hãy điền vào keyphrase:

Tiếp theo, click vào nút Save private key. Chọn một nơi an toàn để lưu file chứa private key.

hướng dẫn kết nối ssh dùng ssh key 5

Public key bạn cũng không cần lưu lại làm gì. Bạn có thể sử dụng chức năng load để tải file private key đã lưu. Từ đó bạn có thể lấy lại public key. ​

Cách đưa public key lên server

Đầu tiên bạn sử dụng MobaXTerm kết nối với server (sử dụng tài khoản root). Nếu bạn đã tạo user khác thì đăng nhập với user bạn cần kết nối qua SSH Key.

Tiếp theo, bạn chạy nhóm lệnh bên dưới.

Đầu tiên, bạn tạo thư mục .ssh ở trong thư mục home của user hiện tại

Mở file authorized_keys sử dụng trình biên tập nano. Nếu chưa có file này nano sẽ tạo file mới và mở cho bạn biên tập

Copy và paste public key. Click Ctrl+O rồi Enter để lưu lại. Click Ctrl+X để thoát nano

hướng dẫn kết nối ssh dùng ssh key 12

Chạy lệnh sau để giới hạn quyền truy cập file:

Lưu ý: Để kết nối SSH Key hoạt động, SELinux cần phải tắt. Bạn kiểm lại server của bạn đã tắt chưa bằng cách mở file /etc/selinux/config, nếu SELINUX đã tắt thì sẽ có dòng SELINUX=disabled. Nếu chưa thì bạn thay đổi như vậy rồi gõ lệnh reboot để khởi động lại server.

Ok. Chúng ta đã hoàn thành xong đưa public key lên server.

Vẫn trong MobaXterm, bạn sửa lại session bạn dùng kết nối với server. Ở phần Advanced SSH Settings, bạn chọn Use private key rồi duyệt đến file private key bạn đã lưu. Xong rồi thì click OK.

hướng dẫn kết nối ssh dùng ssh key 6

Bây giờ bạn thử mở một tab kết nối mới. Nó sẽ hỏi keyphrase là gì nếu bạn thiết lập keyphrase. Bạn paste cái keyphrase bạn thiết lập ở trên.

hướng dẫn kết nối ssh dùng ssh key 7

Nếu mọi thứ làm việc, bạn sẽ kết nối thành công với server.

Tắt chức năng kết nối sử dụng mật khẩu.

Sau khi kết nối bằng SSH Key thành công, bạn cần tắt chức năng kết nối xác thực mật khẩu đi.

Kết nối với server bằng SSH Key. Sau đó mở file /etc/ssh/sshd_config.

Thay đổi dòng PasswordAuthentication từ yes thành no.

hướng dẫn kết nối ssh dùng ssh key 9

Thay đổi dòng UsePAM từ yes thành no. ​

hướng dẫn kết nối ssh dùng ssh key 10

Thay đổi xong thì bạn chạy lệnh service sshd restart để cập nhật cấu hình mới

Với bài viết này bạn đã biết cách kết nối SSH sử dụng SSH Key.

Bạn nhớ làm bước này sau khi tạo xong VPS nhé. ​

Xem bài trong seriesPhần trước: Cách cấu hình SSH an toàn cho Linux bạn không nên bỏ qua

Hosting nước ngoài uy tín, bảo mật tốt, có location Singapore:

a2hosting_wordpress_728_90

3
Để lại bình luận

1 Comment threads
2 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Recent comment authors
newest oldest
Guest
Vân Trần

bắt đầu từ cái bước Đưa public key lên server nó rắc rối quá anh ơi. anh có thể viết lại từ chỗ đó cụ thể hơn được không?

Scroll Up
Share This