SSH Key là gì? Cách sử dụng SSH Key

Nguồn bài viết: SSH Key là gì? Cách sử dụng SSH Key

Bảo mật luôn là vấn đề nóng, nhất là trong thời đại công nghệ phát triển như hiện nay, khi các cuộc tấn công mạng dần trở nên đa dạng và khó kiểm soát hơn. Để bảo mật dữ liệu, nhiều người thường sử dụng SSH Key để bảo mật máy chủ. SSH Key là gì? Hãy đọc bài viết dưới đây để tìm hiểu.

SSH Key là gì?

Định nghĩa khóa SSH

SSH Key là phương thức xác thực đăng nhập vào máy chủ thông qua truy cập SSH bằng cách so sánh một cặp khóa, bao gồm khóa riêng tư (private key) và khóa công khai (public key). Private key và Public key có quan hệ mật thiết với nhau nhằm mục đích nhận dạng lẫn nhau.

Khóa SSH thường được sử dụng thay thế cho mật khẩu bằng cách xác minh quyền truy cập. Bạn có thể hiểu đơn giản, phương thức đăng nhập này dưới dạng hỏi đáp, trong đó một bên đưa ra câu hỏi và bên kia phải đưa ra câu trả lời hợp lệ thì mới được xác thực.

SSH-key-la-gigs

Các thành phần chính của khóa SSH

Một SSH Key sẽ có 3 thành phần chính bao gồm:

  • Khóa công khai (định dạng tệp và chuỗi): Bạn phải sao chép ký tự khóa này và đưa vào tệp ~ / .ssh / allow_keys trên máy chủ của bạn.
  • Khóa cá nhân (định dạng tệp và chuỗi): File này được lưu vào máy tính của bạn, sau đó bạn cần thiết lập PuTTY, WinSCP, Xshell, .. để có thể đăng nhập.
  • Cụm từ khóa (định dạng chuỗi, cần nhớ): Mật khẩu để mở khóa riêng, khi đăng nhập vào máy chủ bạn sẽ được hỏi điều này.

Cách hoạt động của các phím SSH

Để sử dụng SSH Key, trước tiên bạn phải có Private Key và Public Key.

Khóa công khai sẽ được tải lên máy chủ và khóa riêng tư sẽ được lưu trữ trên máy tính của bạn. Khi đăng nhập vào máy chủ, một yêu cầu đăng nhập sẽ được gửi bằng Khóa riêng. Sau khi nhận được tín hiệu, máy chủ sẽ kiểm tra xem Private key của bạn có khớp với Public key trên máy chủ hay không, nếu có thì bạn mới đăng nhập được.

Mặc dù nội dung giữa Khóa riêng tư và Khóa công khai không giống nhau, nhưng nhờ thuật toán riêng, chúng vẫn có thể nhận dạng được.

SSH-key-la-gigs

Ưu điểm và nhược điểm của SSH Key

Thuận lợi

  • Sử dụng SSH Key khó bị hack hơn và an toàn hơn so với sử dụng mật khẩu
  • Kết nối SSH chỉ có thể đến từ máy tính có khóa riêng trong đó. Bạn có thể đăng nhập bằng mật khẩu của mình từ bất kỳ máy tính nào, ngay cả máy tính để bàn công cộng tại thư viện.
  • Cho phép nhiều người đăng nhập bằng cùng một tên người dùng (user) trên hệ thống mà không cần phải dùng chung mật khẩu.
  • Mặc dù nhiều người có quyền truy cập nhưng có thể thu hồi quyền truy cập của bất kỳ ai.
  • Giúp đăng nhập nhiều tài khoản SSH dễ dàng hơn mà không cần phải quản lý nhiều mật khẩu.
  • Cho phép thêm mật khẩu để xác thực khóa SSH (xác thực đa yếu tố) để bảo mật hơn nữa.

Khuyết điểm

  • Khóa riêng tư cần được lưu trữ trên thiết bị (máy tính, laptop, điện thoại) mà bạn đăng nhập, điều này có nghĩa là nếu thiết bị của bạn bị hack hoặc bị mất sẽ rất nguy hiểm.
  • Thiết lập SSH Key yêu cầu nhiều thao tác.
  • Việc phân phối khóa công khai và hướng dẫn cách sử dụng khóa SSH có thể phức tạp hơn một chút.

Cách tạo SSH Key

Có thể thông qua nhiều cách để tạo SSH Key. Miễn là sau khi tạo xong, Public Key sẽ được lưu ở vị trí thích hợp tại Server, và Private key được sử dụng trên máy con để kết nối.

Đối với hệ điều hành Windows

Tạo khóa SSH

Bạn có thể sử dụng phần mềm PuTTY-Gen để tạo khóa SSH. Link tải PuTTY- Gen tại https://www.putty.org/. Sau khi bạn đã cài đặt xong phần mềm, hãy mở phần mềm đó lên và chọn các tùy chọn như trong hình bên dưới rồi nhấn Phát ra.

SSH-key-la-gigs

Sau khi tạo, bạn sẽ nhận được một hộp thoại như sau:

SSH-key-la-gigs

Hãy tiếp tục, hãy tạo cụm mật khẩu bằng cách điền vào ô cụm mật khẩu ở trên (không cần điền vào trường này cũng được).

SSH-key-la-gigs

Sau đó nhấn Lưu khóa cá nhân và lưu nó ở một nơi an toàn

SSH-key-la-gigs

Cách thêm SSH Key trong VPS

Bây giờ đăng nhập vào VPS với người dùng mà bạn cần thêm khóa (thường là root, nhưng nếu VPS của bạn có nhiều người dùng, bạn sẽ cần thêm khóa cho tất cả những người dùng đó).

Sau đó, nhập các lệnh bên dưới để tạo thư mục .ssh / và tệp ủy quyền_key trong thư mục đó:

$ mkdir ~/.ssh

$ chmod 700 ~/.ssh

$ touch ~/.ssh/authorized_keys

$ chmod 600 ~/.ssh/authorized_keys

Cuối cùng, mở tệp ủy quyền_giúp trong thư mục .ssh trong thư mục gốc của người dùng và sao chép tất cả các ký tự của khóa công khai vào đó.

Cách sử dụng SSH KEY để đăng nhập vào VPS

Đầu tiên, đăng nhập lại SSH bằng tài khoản SSH Key của bạn để kiểm tra xem nó có hoạt động không.

Nếu bạn đăng nhập Windows thông qua phần mềm khác như PuTTY thì khi đăng nhập bạn phải kèm theo tệp private key để xác thực.

SSH-key-la-gigs

Khi đăng nhập vào VPS, bạn sẽ phải xác thực thông qua đường dẫn của tệp SSH Key mới tạo

Để đảm bảo rằng bạn không thể đăng nhập vào VPS của mình bằng mật khẩu gốc và mật khẩu người dùng nữa, bạn cần truy cập tệp sshd_config và thực hiện các lệnh sau:

cd /etc/ssh

cp sshd_config sshd_config.orig

nano sshd_config

Chỉnh sửa các dòng tương ứng bên dưới

PermitRootLogin yes

PasswordAuthentication yes

UsePAM yes

Sau khi chỉnh sửa:

PermitRootLogin yes

PasswordAuthentication no

UsePAM no

Lưu tệp bằng Ctrl + O và khởi động lại SSH:

/etc/init.d/ssh restart

Lưu ý: nếu bạn tắt xác thực mật khẩu, bạn sẽ không thể đăng nhập bằng mật khẩu được nữa. Bạn chỉ có thể đăng nhập bằng khóa riêng tương ứng với khóa công khai đã lưu.

Đối với hệ điều hành Linux

Cách tạo SSH Key

Đầu tiên, hãy bật phần cuối lên, sau đó thực hiện lệnh sau để tạo Khóa công khai

# ssh-keygen -t rsa

Sau khi bạn chạy lệnh trên màn hình sẽ xuất hiện thông báo hiển thị đường dẫn lưu khóa đã tạo, mặc định khóa công khai và khóa riêng sẽ được lưu trong đường dẫn /root/.ssh/

SSH-key-la-gigs

Cách đặt SSH Key vào VPS

Để đặt SSH Key vào VPS, hãy sao chép Key này vào VPS của bạn, ngay tại máy Linux của bạn, thực hiện lệnh sau:

<!-- wp:quote -->
<blockquote class="wp-block-quote"><p>#ssh-copy-id –i ~/.ssh/id_rsa IP (địa chỉ IP của VPS)</p></blockquote>
<!-- /wp:quote -->
SSH-key-la-gigs

Với thao tác này, mã SSH Key mới tạo trên máy linux của bạn sẽ được chuyển sang VPS tại thư mục /root/.ssh/authorized_keys

Đăng nhập SSH từ máy Linux sang VPS

Để đăng nhập SSH từ máy tính linux vào VPS bạn cần thực hiện lệnh

# ssh -i .ssh/id_rsa IP

Thông báo sau sẽ xuất hiện

SSH-key-la-gigs

Tóm lại, sử dụng SSH Key là giải pháp thay thế phương thức đăng nhập bằng mật khẩu truyền thống, giúp dữ liệu của bạn được an toàn tuyệt đối. Qua bài viết hi vọng các bạn sẽ hiểu được SSH Key là gì và cách sử dụng nó. Chúc may mắn.

Câu hỏi thường gặp về Khóa SSH

SSH Key có thực sự tốt hơn Password?

So với Mật khẩu, phương pháp bảo mật SSH Key gần như tốt hơn hoàn toàn. Tuy nhiên, SSH chưa chắc đã hoàn hảo vì bên cạnh những ưu điểm vẫn có những nhược điểm đã được đề cập ở trên trong bài viết. Vì vậy, nếu bạn là người thích sự đơn giản thì vẫn có thể sử dụng Mật khẩu để bảo mật.

Tôi có nên tắt xác thực mật khẩu khi tạo Khóa SSH không?

: Nên. Sau khi kiểm tra, nếu đăng nhập được vào máy chủ bằng SSH Key, bạn có thể tắt chức năng mật khẩu vì nếu không tắt, kẻ gian vẫn tấn công vũ phu như bình thường và bạn vẫn bị mất dữ liệu nếu lộ mật khẩu.

Có thể tạo Khóa SSH trên cổng thông tin không hay tôi phải tạo từ ứng dụng khác?

Bạn có thể tạo khóa SSH ngay trên giao diện quản trị hoặc tạo từ phần mềm khác và sao chép khóa vào trang cổng thông tin. Hơn nữa, bạn cũng có thể thêm một hoặc nhiều khóa ssh vào trang quản trị. Trong quá trình tạo Elastic Compute, bạn được phép chọn khóa SSH nào sẽ được thêm vào máy ảo khi máy ảo được tạo.

Ngoài SSH Key và Password, có phương pháp bảo mật dữ liệu nào khác không?

Một số phương pháp bảo mật dữ liệu phổ biến là:

  • Bảo mật dữ liệu bằng tường lửa: một vai trò tương đương với một công cụ để kiểm tra khả năng kết nối và bảo mật giữa các mạng máy tính đáng tin cậy và không đáng tin cậy
  • Bảo mật bằng PKI: Đây là khóa công khai – một cơ chế do bên thứ ba cung cấp cho người dùng nhằm mục đích xác định chính xác các bên tham gia vào quá trình thay đổi thông tin.
  • Bảo mật bằng SSL / TLS: Đây là một giao thức mật mã bảo mật dữ liệu trong quá trình truyền trên internet.
  • Bảo mật bằng VPN: là một hệ thống mạng riêng ảo có sẵn cho một số máy chủ hoặc người dùng nhất định. Đây là một cách để tạo kết nối an toàn giữa máy tính từ xa và máy tính để bàn. Và chúng được kết nối như một mạng cục bộ riêng.

CÔNG TY CỔ PHẦN TẬP ĐOÀN TINO

  • Trụ sở chính: L17-11, Lầu 17, Tòa nhà Vincom Center, Số 72 Lê Thánh Tôn, P. Bến Nghé, Q.1, TP.
    VPĐD: 42 Trần Phú, P.4, Q.5, TP.HCM
  • Điện thoại: 0364 333 333
    Tổng đài miễn cước: 1800 6734
  • Email: sales@tino.org
  • Trang web: www.tino.org

Xem thêm nhiều bài viết về : Kiến Thức Cơ Bản

Bản quyền thuộc: thuthuatkiemtien.com



from thuthuatkiemtien.com https://ift.tt/3rTOtai
via thuthuatkiemtien.com

Nhận xét

Bài đăng phổ biến từ blog này

3 Cách để kiếm tiền từ blog WordPress

Google AdSense bỏ giới hạn số lượng quảng cáo trên mỗi trang

Toàn tập danh sách liên kết đơn trong C++