Hướng dẫn cách thiết lập key SSH trên Ubuntu 16.04

0

Chúng tôi sẽ hướng dẫn bạn cách thiết lập các key SSH trên Ubuntu 16.04. SSH hoặc SHELL an toàn là giao thức mạng mã hóa dựa trên UNIX phổ biến và đáng tin cậy nhất. Nó có thể được sử dụng cho truyền thông dữ liệu an toàn, đăng nhập máy chủ từ xa, thực thi lệnh từ xa và nhiều dịch vụ mạng bảo mật khác giữa hai máy chủ được nối mạng. Thông thường, xác thực mật khẩu được sử dụng để kết nối với máy chủ từ xa thông qua SSH nhưng trong hướng dẫn này, chúng tôi sẽ hướng dẫn bạn cách đăng nhập vào Ubuntu 16.04 VPS bằng cách sử dụng các khóa SSH. Chúng tôi sẽ tạo một cặp khóa (khóa riêng và khóa công khai), đặt khóa cá nhân trên máy chủ của bạn và sau đó sử dụng khóa riêng được lưu trữ cục bộ của bạn để truy cập vào máy chủ của bạn. Phương pháp này cung cấp một cách an toàn hơn để kết nối với máy chủ của bạn, thay vì chỉ sử dụng mật khẩu.

Trong quá trình hướng dẫn này, chúng tôi cũng sẽ giải thích cách tạo cặp khóa SSH trên cả hệ điều hành Linux và Windows.

1. Tạo các khóa SSH trên Ubuntu 16.04

Để tạo cặp khóa SSH, chỉ cần chạy lệnh sau từ thiết bị đầu cuối trên máy tính dựa trên Ubuntu 16.04 cục bộ của bạn:

ssh-keygen

Bạn chỉ có thể nhấn Enter để để các giá trị mặc định cho tất cả các câu hỏi. Tùy chọn, bạn cũng có thể đặt cụm mật khẩu để thêm lớp bảo mật bổ sung hoặc chỉ cần nhấn Enter lần nữa nếu bạn không muốn.

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:2QB/eJ39/4N7Q3PRSghNJmglX6hh2pSqQ3uGHhfd7Og root@rosehosting
The key's randomart image is:
+---[RSA 2048]----+
| . .+o++ |
| oB+o=.o |
| O+=+.o.. .|
| . + +*o . .o.|
| . + .So. . .o|
| * + . . .oo|
| . * . o +|
| . E . +.|
| .o +|
+----[SHA256]-----+

Điều này sẽ tạo ra một khóa riêng và khóa công khai 2048 bit (id_rsa và id_rsa.pub) trong thư mục /root/.ssh/ trên hệ thống cục bộ của bạn.

Tải khóa công khai lên máy chủ Ubuntu 16.04 với ssh-copy-id

Bước tiếp theo yêu cầu bạn tải khóa công khai đã tạo lên máy chủ Ubuntu từ xa của bạn. Có nhiều phương pháp để thực hiện việc này.

Cách đơn giản nhất là sử dụng tiện ích ssh-copy-id . Để làm việc này, bạn sẽ có thể kết nối với máy chủ của bạn thông qua SSH bằng cách sử dụng xác thực mật khẩu.

Sau đó, bạn có thể sử dụng lệnh sau để tải khóa công khai lên máy chủ từ xa của mình:

ssh-copy-id root @ remote_server

Bạn sẽ được yêu cầu nhập mật khẩu người dùng của bạn (trong ví dụ của chúng tôi là mật khẩu gốc) và nhấn Enter. Sau khi kết nối được thiết lập, nội dung của id_rsa.pub (khóa công khai) sẽ được sao chép vào tập tin / root / ssh / authorized_keys trên máy chủ từ xa.

Đầu ra sau sẽ được hiển thị:

Number of key(s) added: 1

Now try logging into the machine, with: "ssh 'root@remote-host'"
and check to make sure that only the key(s) you wanted were added.

Từ bây giờ, bạn sẽ có thể xác thực với máy chủ Ubuntu bằng cách sử dụng các khóa SSH.

Tải khóa công khai lên máy chủ Ubuntu theo cách thủ công

Nếu công cụ ssh-copy-id không có sẵn trên hệ thống của bạn, bạn có thể đăng nhập vào máy chủ của mình và thực hiện việc này theo cách thủ công.

Đầu tiên, kết nối với máy chủ của bạn thông qua SSH với:

ssh root @ remote_server

Sau khi kết nối, bạn sẽ cần phải tạo một thư mục .ssh mới trên máy chủ từ xa bằng lệnh sau:

mkdir /root/.ssh

Tiếp theo, bạn cần sao chép khóa công khai vào tệp authorized_keys trên máy chủ từ xa. Bạn có thể tạo và sau đó thêm nội dung của khóa công khai bằng cách sử dụng trình soạn thảo văn bản nano:

nano /root/.ssh/authorized_keys

Bạn cũng sẽ cần mở tệp cấu hình SSH:

nano / etc / ssh / sshd_config

và đảm bảo các dòng sau tồn tại và không được nhận xét:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys

Lưu các thay đổi và khởi động lại dịch vụ SSH:

systemctl restart ssh

Và bây giờ, bạn sẽ sử dụng các khóa SSH mỗi khi bạn cố gắng kết nối với máy chủ từ xa của mình.

2. Tạo các khóa SSH trên hệ thống dựa trên Windows với PuTTY và PuTTYGen

Nếu bạn đang sử dụng hệ điều hành Windows trên máy cục bộ của mình, thì bạn sẽ cần PuTTY để kết nối với máy chủ của bạn thông qua SSH và PuTTYgen để tạo khóa SSH của bạn. Bạn có thể tải chúng xuống đây (https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html).

Để tạo khóa SSH, hãy tiếp tục và khởi động PuTTYGen trên máy tính của bạn.

Ở phía dưới, bạn có thể chọn số bit cho khóa được tạo của mình. Nhập 4096 và sau đó nhấp vào Tạo. Bắt đầu di chuyển chuột của bạn xung quanh vùng trống trên màn hình PuTTYgen để tạo ra một khóa duy nhất dựa trên đầu vào di chuyển chuột của bạn.

Khi thanh tiến trình màu xanh được điền, khóa công khai sẽ được tạo. Bạn có thể sao chép chúng và lưu nó bên trong một tệp .txt trên máy tính của bạn.

Để lưu khóa riêng, bạn sẽ cần phải nhấp vào nút Lưu khóa cá nhân. Ngoài ra, bạn cũng có thể đặt Cụm mật khẩu khóa cho khóa riêng của mình.

Bây giờ bạn có thể mở PuTTY và gán vị trí của khóa riêng của bạn, bấm vào SSH trong menu Connection và sau đó nhấp vào Auth. Nhấp vào nút duyệt và nhập vị trí của tệp khóa cá nhân đã lưu của bạn.

Tiếp theo, chúng tôi cần tải khóa công khai lên máy chủ của bạn. Để thực hiện điều này, bạn nhấn vào Session, nhập địa chỉ IP của bạn và số cổng SSH của máy chủ, chọn SSH cho kiểu Connection và kích Open.

Bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu của bạn. Bạn có thể đăng nhập với tư cách người dùng root, sử dụng mật khẩu root của bạn.

Sau khi đăng nhập vào máy chủ của bạn, trước tiên hãy tạo thư mục .ssh:

mkdir /root/.ssh

Sau đó, tạo tệp authorized_keys bên trong thư mục .ssh và thêm nội dung của khóa công khai của bạn vào bên trong tệp này:

nano /root/.ssh/authorized_keys

Bạn cũng có thể mở tệp cấu hình SSH trên máy chủ của mình bằng:

nano / etc / ssh / sshd_config

và đảm bảo rằng các dòng sau tồn tại và không được nhận xét:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile% h / .ssh / authorized_keys

Nếu có bất kỳ thay đổi nào được thực hiện, đừng quên khởi động lại dịch vụ sshd với:

systemctl restart ssh

Với điều này, các khóa SSH đã được cấu hình thành công.Bây giờ bạn có thể ngắt kết nối khỏi máy chủ của mình và thoát khỏi PuTTY. Lần sau khi bạn thử kết nối với máy chủ của mình, PuTTY sẽ sử dụng khóa chung mà bạn đã thiết lập để thiết lập kết nối.

3. Vô hiệu hóa xác thực mật khẩu

Một khi bạn đã cấu hình thành công các khóa SSH bằng một trong các phương thức trên và bạn chắc chắn rằng bạn có thể đăng nhập vào máy chủ của mình bằng cách sử dụng xác thực dựa trên khóa SSH, bạn có thể tắt xác thực dựa trên mật khẩu cho máy chủ của mình. Điều này sẽ thêm lớp bảo mật bổ sung và sẽ ngăn chặn tất cả các cuộc tấn công bạo lực tới máy chủ của bạn.

Để tắt xác thực dựa trên mật khẩu, hãy mở tệp cấu hình SSH bằng:

nano / etc / ssh / sshd_config

Và bỏ ghi chú dòng sau và đặt giá trị của nó thành “không”:

PasswordAuthentication no

Khởi động lại dịch vụ sshd với:

systemctl restart ssh

Và bạn đã thiết lập thành công khóa SSH trên Ubuntu 16.04 VPS của mình.

PS . Nếu bạn thích bài viết này, hãy chia sẻ nó với bạn bè của bạn trên các mạng xã hội bằng cách sử dụng các nút dưới đây hoặc đơn giản là để lại một bình luận trong phần bình luận. Cảm ơn.

Leave a Reply

Your email address will not be published. Required fields are marked *