Bảo mật cho server bằng SSH key trên Linux / macOS và Windows

posted in: Thủ thuật, Tin Máy Chủ | 0

Bảo mật cho server bằng SSH key là phương thức mặc định mà hầu hết các máy khách SSH sử dụng để xác thực với các máy chủ từ xa, nhưng xác thực Khóa công khai có lợi ích của sự tiện lợi và tăng cường bảo mật. Cặp khóa SSH bao gồm khóa riêng và khoá công khai, thường là cặp RSA. Khóa công cộng được thêm vào các máy chủ bạn muốn kết nối và khóa riêng tư sẽ được bảo mật trên máy cục bộ của bạn với các quy tắc truy cập nghiêm ngặt.

Khóa cá nhân có thể được mã hóa khi được tạo để chỉ những cá nhân có mật khẩu giải mã mới có thể sử dụng khóa, ngay cả khi cặp khóa chính bị xâm phạm. Mật khẩu chỉ được sử dụng để mở khoá riêng tư cục bộ và không được truyền đến máy chủ từ xa. Để thuận tiện hơn, và tùy thuộc vào bảo mật máy trạm cục bộ của bạn, bạn có thể thêm mật khẩu giải mã khóa riêng vào keychain cục bộ của bạn để nó được lưu sau lần đăng nhập đầu tiên.

Linux / macOS

Tạo liên kết cặp khóa chính

Thực hiện các bước trong phần này trên Linode của bạn hoặc máy từ xa khác.

1. Tạo cặp khóa mới

Trong khi tạo cặp khóa, bạn sẽ được cung cấp tùy chọn mã hóa khóa cá nhân bằng cụm mật khẩu. Điều này có nghĩa là không thể sử dụng cặp khóa mà không cần nhập cụm mật khẩu trừ khi bạn lưu nó vào trình quản lý keychain của máy cục bộ. Chúng tôi khuyên bạn nên sử dụng cặp khóa bằng cụm mật khẩu, nhưng bạn có thể để trống trường này nếu bạn không muốn sử dụng.

Thận trọng

Lệnh này sẽ ghi đè cặp khóa RSA hiện tại, có khả năng khóa bạn ra khỏi các hệ thống khác.

Nếu bạn đã tạo một cặp khóa, hãy bỏ qua bước này. Để kiểm tra các phím hiện có, hãy chạy ls ~/.ssh/id_rsa*.

Nếu bạn vô tình khóa chính mình khỏi Linode, hãy sử dụng Lish để cập nhật authorized_keys tệp của bạn và lấy lại quyền truy cập SSH.

2. Kích hoạt

Nhấn Enter để sử dụng các tên mặc định id_rsaid_rsa.pub trong /home/your_username/.ssh trước khi vào cụm từ mật khẩu của bạn.

Tải lên Liên kết khóa đôi của bạn

Thực hiện các bước 1 và 2 trong phần này trên Linode của bạn hoặc máy từ xa khác. Thực hiện Bước 3 trên máy cục bộ của bạn.

1. Đăng nhập với tư cách người dùng sẽ sử dụng cặp khóa. Thay thế người dùng SSH của bạn và tên máy chủ hoặc địa chỉ IP: ssh user@example.com

2. Tạo .ssh thư mục và authorized_keys tệp nếu chúng chưa tồn tại trên máy chủ từ xa:

mkdir ~/.ssh && touch ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

3. Trên máy cục bộ của bạn, thêm khóa công khai vào authorized_keys tệp của máy chủ từ xa . Thay thế 203.0.113.10 bằng IP từ xa:

scp ~/.ssh/id_rsa.pub example_user@203.0.113.10:~/.ssh/authorized_keys

Kết nối với Permalink từ xa máy chủ

1. SSH vào máy chủ từ máy cục bộ của bạn:

2. Tùy thuộc vào môi trường máy tính để bàn của bạn, một cửa sổ có thể xuất hiện, nhắc bạn nhập mật khẩu của khóa riêng mà bạn đã chỉ định trước đó khi tạo cặp khóa:

Bảo mật cho server bằng SSH key

Thận trọng

Không cho phép máy cục bộ nhớ mật khẩu trong khóa của nó trừ khi bạn đang sử dụng máy tính cá nhân mà bạn tin cậy.

3. Nhấn OK và bạn sẽ thấy kết nối được thiết lập trong terminal cục bộ.

Bạn cũng có thể bảo vệ máy chủ bằng cách tạo tường lửa an toàn. Đây là Hướng dẫn Bảo mật cho server bằng tường lửa an toàn tuyệt đối.

Windows

Tạo và tải lên một cặp khóa với liên kết cố định PuTTY

1. Tải xuống PuTTYgen (puttygen.exe) và PuTTY (putty.exe) từ trang web chính thức .

2. Khởi chạy puttygen.exe. Các RSAloại chìa khóa ở dưới cùng của cửa sổ được chọn theo mặc định cho một RSA cặp khóa nhưng ED25519 (EdDSA sử dụng Curve25519) là một lựa chọn tương đương nếu máy chủ SSH máy từ xa của bạn có hỗ trợ chữ ký DSA. Không sử dụng SSH-1(RSA) loại khóa trừ khi bạn biết bạn đang làm gì.

3. Tăng kích thước khóa RSA từ 2048 bit 4096 và nhấp vào Tạo:

Bảo mật cho server bằng SSH key

4. PuTTY sử dụng đầu vào ngẫu nhiên từ chuột để tạo khóa duy nhất. Khi bắt đầu tạo khóa, tiếp tục di chuyển chuột cho đến khi thanh tiến trình được điền:

Bảo mật cho server bằng SSH key

5. Khi kết thúc, PuTTY sẽ hiển thị khóa công cộng mới. Nhấp chuột phải vào nó và chọn Select All , sau đó sao chép khóa công khai vào một tập tin Notepad.

Bảo mật cho server bằng SSH key

6. Lưu khóa công khai dưới dạng tệp .txt hoặc một số định dạng văn bản khác. Đây là định dạng văn bản phong phú – chẳng hạn như .rtf hoặc .doc có thể thêm các ký tự định dạng phụ và sau đó khóa riêng tư của bạn sẽ không hoạt động.

7. Nhập cụm mật khẩu cho khóa cá nhân trong cụm mật khẩu Khoá và Xác nhận trường văn bản cụm mật khẩu. Quan trọng: Ghi chú cụm mật khẩu của bạn, bạn sẽ cần nó sau:

anh-tin-tuc

8. Nhấp vào Lưu khóa cá nhân

Chọn tên tệp và vị trí trong Explorer trong khi vẫn giữ ppk phần mở rộng của tệp. Nếu bạn dự định tạo nhiều cặp khóa cho các máy chủ khác nhau, hãy đảm bảo cung cấp cho chúng các tên khác nhau để bạn không ghi đè các khóa cũ bằng mới:

anh-tin-tuc

Kết nối với Permalink từ xa máy chủ

1. Khởi chạy putty.exe. Tìm cây Connection trong cửa sổ Category, mở rộng SSH và chọn Auth. Nhấp vào Duyệt qua và điều hướng đến khóa riêng tư mà bạn đã tạo ở trên:

anh-tin-tuc

2. Cuộn trở lại đầu cửa sổ Danh mục và nhấp vào Phiên. Nhập tên máy chủ hoặc địa chỉ IP của Linode của bạn. Cổng TCP mặc định PuTTY là 22, các IANA cổng được gán cho giao thông SSH. Thay đổi nó nếu máy chủ của bạn đang nghe trên một cổng khác. Đặt tên cho phiên trong thanh văn bản Phiên đã lưu và nhấp vào Lưu:

anh-tin-tuc

3. Nhấp vào nút Mở để thiết lập kết nối. Bạn sẽ được nhắc nhập tên đăng nhập và mật khẩu cho máy chủ từ xa.

4. Khi bạn đã đăng nhập vào máy chủ từ xa, hãy định cấu hình để xác thực bằng cặp khóa SSH thay vì mật khẩu của người dùng. Tạo một .ssh thư mục trong thư mục chủ của bạn trên Linode, tạo một authorized_keys tệp trống bên trong và đặt quyền truy cập của chúng:

mkdir ~/.ssh && touch ~/.ssh/authorized_keys
chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys

5. Sao chép khóa công khai từ máy trạm cục bộ của bạn vào authorized_keys tệp trên Linode của bạn. Khi sao chép từ tệp khóa công khai được xuất từ ​​PuTTY.

6. Thoát PuTTY, sau đó kết nối lại và Tải phiên đã lưu của bạn. Bạn sẽ được nhắc nhập tên đăng nhập của người dùng Linode như trước đây. Tuy nhiên, lần này bạn sẽ được nhắc nhập mật khẩu của khóa SSH riêng thay vì mật khẩu của người dùng Linode. Nhập cụm mật khẩu và nhấn Enter.

Sử dụng Liên kết cố định WinSCP

1. Tải lên một khóa công khai từ Windows cũng có thể được thực hiện bằng cách sử dụng WinSCP .

2. Trong cửa sổ đăng nhập, nhập địa chỉ IP công cộng của Linode của bạn làm tên máy chủ cũng như tên người dùng và mật khẩu không phải root của bạn. Nhấp vào Đăng nhập để kết nối.

3. Sau khi kết nối, WinSCP sẽ hiển thị hai phần cây tập tin. Bên trái hiển thị các tệp trên máy tính cục bộ của bạn và bên phải hiển thị các tệp trên Linode của bạn. Sử dụng trình thám hiểm tệp ở bên trái, điều hướng đến tệp mà bạn đã lưu khóa công khai của mình trong Windows. Chọn tệp khóa công cộng và nhấp vào Tải lên trong thanh công cụ ở trên.

4. Bạn sẽ được nhắc nhập đường dẫn trên Linode nơi bạn muốn tải lên tệp. Tải tệp lên /home/example_user/.ssh/authorized_keys, thay thế example_user bằng tên người dùng của bạn.

Xem thêm: Cho thuê máy chủ tại Hà Nội

Bình luận