Cách sử dụng Khóa SSH – Cách sử dụng xác thực khóa công khai SSH

posted in: Tin Máy Chủ, Tin Tức | 0

Tổng quan

Cách sử dụng Khóa SSH để xác thực là cách đăng nhập vào tài khoản SSH / SFTP bằng cách sử dụng khóa mật mã thay vì mật khẩu.

Nếu bạn sử dụng mật khẩu SSH / SFTP rất mạnh, tài khoản của bạn đã được an toàn khỏi các cuộc tấn công bạo lực. Tuy nhiên, việc sử dụng xác thực khóa công khai cung cấp nhiều lợi ích khi làm việc với nhiều nhà phát triển. Ví dụ: với các khóa SSH, bạn có thể

– Cho phép nhiều nhà phát triển đăng nhập với tư cách là người dùng hệ thống giống nhau mà không phải chia sẻ một mật khẩu duy nhất giữa họ;

– Thu hồi quyền truy cập của một nhà phát triển đơn lẻ mà không thu hồi quyền truy cập của các nhà phát triển khác; và

– Giúp một nhà phát triển duy nhất đăng nhập vào nhiều tài khoản dễ dàng hơn mà không cần quản lý nhiều mật khẩu khác nhau.

Cách xác thực khóa công khai hoạt động

Chìa khóa đi theo cặp chìa khóa công cộng và khóa riêng. Mỗi cặp khóa là duy nhất và hai phím hoạt động cùng nhau.

Hai khóa này có một thuộc tính toán học rất đặc biệt và đẹp: nếu bạn có khóa riêng, bạn có thể chứng minh bạn có nó mà không hiển thị nó là gì. Nó giống như chứng minh bạn biết mật khẩu mà không cần phải hiển thị mật khẩu cho ai đó.

Xác thực khóa công khai hoạt động như sau:

01. Tạo cặp khóa.

02. Cung cấp cho ai đó (hoặc một máy chủ) khóa công khai.

03. Sau đó, bất cứ khi nào bạn muốn xác thực, người (hoặc máy chủ) yêu cầu bạn chứng minh rằng bạn có khóa riêng tương ứng với khóa công khai.

04. Bạn chứng minh bạn có khóa riêng.

Bạn không phải làm toán hoặc thực hiện trao đổi khóa chính mình. Máy chủ SSH và chương trình khách hàng sẽ xử lý việc này cho bạn.

Tạo cặp khóa SSH

Bạn nên tạo cặp khóa trên máy tính xách tay của bạn, không phải trên máy chủ của bạn. Tất cả các hệ thống Mac và Linux bao gồm một lệnh gọi là ssh-keygen sẽ tạo ra một cặp khóa mới.

Nếu bạn đang sử dụng Windows, bạn có thể tạo các khóa trên máy chủ của mình. Chỉ cần nhớ sao chép các khóa của bạn vào máy tính xách tay của bạn và xóa khóa riêng của bạn khỏi máy chủ sau khi bạn đã tạo khóa.

Để tạo cặp khóa SSH, hãy chạy lệnh ssh-keygen.

ssh-keygen

Nó sẽ trông như thế này khi bạn chạy nó:

laptop1: ~ yourname $ ssh-keygen
Tạo cặp khóa rsa công khai / riêng tư.

Bạn sẽ được nhắc chọn vị trí lưu trữ khóa. Vị trí mặc định là tốt trừ khi bạn đã có khóa. Nhấn Enter để chọn vị trí mặc định.

Nhập tệp để lưu khóa (/Users/yourname/.ssh/id_rsa):

Tiếp theo, bạn sẽ được yêu cầu chọn mật khẩu. Sử dụng mật khẩu có nghĩa là mật khẩu sẽ được yêu cầu sử dụng khóa riêng. Bạn nên sử dụng mật khẩu trên khóa riêng của mình.

Nhập cụm mật khẩu (trống cho không có cụm mật khẩu):
Nhập lại cùng một cụm mật khẩu:

Sau khi bạn chọn mật khẩu, khóa công cộng và khóa riêng tư của bạn sẽ được tạo. Sẽ có hai tệp khác nhau. Cái tên id_rsa là khóa riêng của bạn. Cái tên id_rsa.pub là khóa công khai của bạn.

Nhận dạng của bạn đã được lưu trong /Users/yourname/.ssh/id_rsa.
Khóa công khai của bạn đã được lưu trong /Users/yourname/.ssh/id_rsa.pub.

Bạn cũng sẽ được hiển thị vân tay và “vân tay trực quan” của khóa. Bạn không cần phải lưu chúng.

Dấu vân tay chính là:
d7: 21: c7: d6: b8: 3a: 29: 29: 11: ae: 6f: 79: bc: 67: 63: 53 yourname @ laptop1
Hình ảnh ngẫu nhiên của khóa là:
+ - [RSA 2048] ---- +
| || . o |
| . . *. |
| . . = o |
| o S. o |
| . . o oE |
| . .oo +. |
| .oo *.|
| .... = o |
+ ----------------- +

Xem thêm: 7 biện pháp cấp thiết cho các ứng dụng bảo mật server

Định cấu hình Người dùng SSH / SFTP cho Khóa của bạn

Phương pháp 1: Sử dụng ssh-copy-id

Bây giờ bạn đã có cặp khóa SSH, bạn đã sẵn sàng định cấu hình người dùng hệ thống của ứng dụng để bạn có thể sử dụng khóa riêng hoặc SSH của mình bằng SSH.

Để sao chép khóa công khai của bạn vào máy chủ của bạn, hãy chạy lệnh sau. Đảm bảo thay thế “xxxx” bằng địa chỉ IP của máy chủ và SYSUSER bằng tên của người dùng hệ thống mà ứng dụng của bạn thuộc về.

ssh-copy-id SYSUSER @ xxxx

Phương pháp 2: Cấu hình thủ công

Nếu bạn không có lệnh ssh-copy-id (ví dụ, nếu bạn đang sử dụng Windows), bạn có thể thay thế SSH vào máy chủ của bạn và tự tạo tệp .ssh / authorized_keys để nó chứa khóa công khai của bạn.

Trước tiên, hãy chạy các lệnh sau để tạo tệp bằng quyền chính xác.

(umask 077 && test -d ~ / .ssh || mkdir ~ / .ssh)
(umask 077 && touch ~ / .ssh / authorized_keys)

Tiếp theo, chỉnh sửa tệp .ssh / authorized_keys bằng cách sử dụng trình soạn thảo ưa thích của bạn. Sao chép và dán tệp id_rsa.pub của bạn vào tệp.

Đăng nhập bằng khóa riêng của bạn

Bây giờ bạn có thể SSH hoặc SFTP vào máy chủ của bạn bằng cách sử dụng khóa riêng của bạn. Từ dòng lệnh, bạn có thể sử dụng:

ssh SYSUSER @ xxxx

Nếu bạn không tạo khóa ở vị trí mặc định, bạn sẽ cần chỉ định vị trí:

ssh -i ~ / .ssh / custom_key_name SYSUSER @ xxxx

Nếu bạn đang sử dụng ứng dụng khách SSH của Windows, chẳng hạn như PuTTy, hãy xem trong cài đặt cấu hình để chỉ định đường dẫn đến khóa riêng của bạn.

Cấp quyền truy cập cho nhiều khóa

Tệp .ssh / authorized_keys bạn đã tạo ở trên sử dụng định dạng rất đơn giản: nó có thể chứa nhiều khóa miễn là bạn đặt một khóa trên mỗi dòng trong tệp.

Nếu bạn có nhiều khóa (ví dụ: một khóa trên mỗi máy tính xách tay của bạn) hoặc nhiều nhà phát triển bạn cần cấp quyền truy cập, chỉ cần làm theo các hướng dẫn tương tự ở trên bằng cách sử dụng ssh-copy-idhoặc chỉnh sửa thủ công tệp để dán vào các khóa bổ sung trên mỗi dòng.

Khi bạn hoàn tất, tệp .ssh / authorized_keys sẽ trông giống như thế này (không sao chép, sử dụng khóa công khai của riêng bạn):

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDSkT3A1j89RT / 540ghIMHXIVwNlAEM3WtmqVG7YN / wYwtsJ8iCszg4 / lXQsfLFxYmEVe8L9atgtMGCi5QdYPl4X / c + + 5YxFfm88Yjfx 2xEgUdOr864eaI22yaNMQ0AlyilmK + PcSyxKP4dzkf6B5Nsw8lhfB5n9F5md6GHLLjOGuBbHYlesKJKnt2cMzzS90BdRk73qW6wJ + MCUWo + cyBFZVGOzrjJGEcHewOCbVs + IJWBFSi6w1enbKGc + RY9KrnzeDKWWqzYnNofiHGVFAuMxrmZOasqlTIKiC2UK3RmLxZicWiQmPnpnjJRo7pL0oYM9r / sIWzD6i2S9szDy6aZ mike @ laptop1
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCzlL9Wo8ywEFXSvMJ8FYmxP6HHHMDTyYAWwM3AOtsc96DcYVQIJ5VsydZf5 / 4NWuq55MqnzdnGB2IfjQvOrW4JEn0cI5UFTvAG4PkfYZb00Hbvwho8JsSAwChvWU6IuhgiiUBofKSMMifKg + pEJ0dLjks2GUcfxeBwbNnAgxsBvY6BCXRfezIddPlqyfWfnftqnafIFvuiRFB1DeeBr24kik / 550MaieQpJ848 + MgIeVCjko4NPPLssJ / 1jhGEHOTlGJpWKGDqQK + QBaOQZh7JB7ehTK + pwIFHbUaeAkr66iVYJuC05iA7ot9FZX8XGkxgmhlnaFHNf0l8ynosanqt henry @ laptop2

Xem thêm: Thuê máy chủ giá rẻ Hà Nội

Thông tin bổ sung

Truy xuất khóa công khai của bạn từ khóa cá nhân của bạn

Lệnh sau sẽ lấy khóa công khai từ khóa riêng:

ssh-keygen -y

Điều này có thể hữu ích, ví dụ, nếu nhà cung cấp máy chủ của bạn tạo khóa SSH cho bạn và bạn chỉ có thể tải xuống phần khóa riêng của cặp khóa.

Lưu ý rằng bạn không thể truy xuất khóa riêng nếu bạn chỉ có khóa công cộng.

Sửa Quyền trên .ssh mục

Các hướng dẫn trong bài viết này sẽ tạo thư mục .ssh của máy chủ và tệp .ssh / authorized_keys của bạn với các quyền chính xác. Tuy nhiên, nếu bạn đã tự tạo chúng và cần phải sửa các quyền, bạn có thể chạy các lệnh sau trên máy chủ của mình trong khi SSH là người dùng hệ thống của ứng dụng.

chmod 700 ~ / .ssh
chmod 600 ~ / .ssh / authorized_keys

Bình luận