Nếu bạn đang sử dụng SSH thường xuyên để kết nối với máy chủ từ xa, một trong những cách để bảo mật kết nối là sử dụng khóa SSH công khai / riêng tư để mật khẩu không được truyền qua mạng và có thể ngăn chặn tấn công bạo lực.

Trong Linux, việc tạo khóa SSH công khai / riêng tư thật dễ dàng.

1. Mở một thiết bị đầu cuối. Kiểu:

 ssh-keygen -t rsa 

Ngoài ra, bạn cũng có thể sử dụng công nghệ DSA (Digital Signing Algorithm) để tạo khóa công khai / riêng tư.

 ssh-keygen -t dsa 

Lưu ý : Đã có rất nhiều cuộc tranh luận về bảo mật của DSA và RSA. Theo ý kiến ​​của tôi, trừ khi bạn rất đặc biệt và thích khám phá chi tiết kỹ thuật giữa hai công nghệ, không quan trọng bạn chọn cái nào trong hai thứ đó. Cả hai sẽ làm việc tốt.

2. Trong màn hình tiếp theo, bạn sẽ thấy lời nhắc, yêu cầu bạn lưu vị trí để lưu khóa. Vị trí mặc định là thư mục .ssh trong thư mục Home của bạn. Bạn chỉ có thể nhấn “Enter” để chấp nhận cài đặt mặc định.

3. Tiếp theo, bạn sẽ được nhắc nhập cụm mật khẩu. Đây KHÔNG phải là cụm mật khẩu để kết nối với máy chủ từ xa của bạn. Đây là cụm mật khẩu để mở khóa khóa riêng tư để không ai có thể truy cập máy chủ từ xa của bạn ngay cả khi họ đã giữ khóa riêng tư của bạn. Cụm mật khẩu là tùy chọn. Để trống, chỉ cần nhấn “Enter”.

4. Khóa SSH công khai và riêng tư của bạn bây giờ sẽ được tạo ra. Mở trình quản lý tệp và điều hướng đến thư mục .ssh . Bạn sẽ thấy hai tệp: id_rsaid_rsa.pub .

5. Tải tệp id_rsa.pub lên thư mục chính của máy chủ từ xa của bạn (giả sử máy chủ từ xa của bạn đang chạy Linux). Kết nối với máy chủ từ xa của bạn qua SSH và sử dụng lệnh sau để di chuyển khóa công khai đến vị trí chính xác.

 cat id_rsa.pub >> ~ / .ssh / authorized_keys rm id_rsa.pub 

6. Vẫn còn trong máy chủ từ xa của bạn, hãy mở tệp cấu hình SSH:

 sudo nano / etc / ssh / sshd_config 

Cuộn xuống tệp cấu hình và đảm bảo các thuộc tính sau được đặt chính xác.

 RSAAuthentication yes PubkeyAuthentication yes PasswordAuthentication no 

Nhấn “ctrl + o” để viết và lưu tệp, theo sau là “ctrl + x” để đóng tệp.

7. Cuối cùng, khởi động lại máy chủ SSH trong máy chủ từ xa

 sudo /etc/init.d/ssh tải lại 

Đó là nó. Bây giờ bạn có thể kết nối với máy chủ từ xa bằng lệnh sau:

 ssh -i / path-to-private-key tên người dùng @ remote-host-ip-address 

Tín dụng hình ảnh: eternicode @ DeviantArt