Cách thêm khóa SSH trên Ubuntu 20.04

Cách thêm khóa SSH trên Ubuntu 20.04

Thiết lập đăng nhập không cần mật khẩu an toàn vào máy chủ Ubuntu từ xa của bạn bằng các khóa SSH

SSH là một giao thức mạng máy chủ-máy khách an toàn giúp máy khách kết nối và giao tiếp với máy chủ từ xa. Kết nối SSH đảm bảo rằng các lệnh được nhập vào thiết bị đầu cuối được gửi đến máy chủ từ xa thông qua một kênh được mã hóa.

Có hai loại cơ chế xác thực được sử dụng để kết nối với máy chủ từ xa, xác thực dựa trên mật khẩu (dễ bị tấn công Brute-force) và xác thực dựa trên SSH Keys (rất an toàn).

Trong xác thực dựa trên khóa SSH, một cặp khóa được tạo trên máy tính khách, được gọi là khóa công khai và khóa riêng tư. Một bản sao của khóa công khai này được cung cấp trên máy chủ từ xa. Khi một máy khách gửi một yêu cầu kết nối đến máy chủ thì máy chủ sẽ tạo ra một chuỗi ngẫu nhiên và mã hóa nó bằng cách sử dụng khóa công khai. Chuỗi này chỉ có thể được giải mã bằng khóa riêng có sẵn trên máy khách. Phương pháp này đảm bảo rằng máy chủ chỉ có thể được truy cập bởi các máy khách có chứa khóa cá nhân.

Trong hướng dẫn này, chúng ta sẽ xem cách thiết lập Khóa SSH trên máy chủ Ubuntu 20.04 LTS.

Xem liệu bạn có bất kỳ Khóa SSH nào hiện có trên máy tính của mình không

Để kiểm tra xem Cặp khóa SSH đã tồn tại trên máy tính của bạn hay chưa, hãy nhập lệnh này vào thiết bị đầu cuối của bạn.

ls -l ~/.ssh/id_*.pub

Nếu lệnh trên trả về no such file or directoryhoặc no matches found, thì có nghĩa là cặp khóa SSH không tồn tại.

Nếu bạn có một cặp khóa SSH hiện tại, thì bạn có thể sử dụng cùng một cặp khóa để truy cập hai máy chủ từ xa hoặc bạn cũng có thể tạo một cặp khóa khác có tên khác. Hãy chuyển sang bước tiếp theo và xem cách tạo khóa SSH cho cả hai trường hợp.

Tạo khóa SSH trên máy tính khách

Để tạo một cặp khóa SSH mới trên máy tính của bạn, hãy nhập lệnh như hình dưới đây.

ssh-keygen

Theo mặc định, các khóa SSH là 2048 bit. Để bảo mật tốt hơn, nếu bạn muốn tạo khóa SSH với bit cao hơn, hãy sử dụng lệnh sau.

ssh-keygen -b 4096

Nếu lệnh chạy thành công, thì thông báo sau sẽ xuất hiện trên màn hình của bạn.

tạo cặp khóa rsa công khai / riêng tư.
Nhập tệp để lưu khóa (/home/harshit/.ssh/id_rsa):

Bây giờ nếu bạn không có bất kỳ cặp khóa SSH hiện có nào trên máy tính của mình thì chỉ cần nhấn Enter, nhưng nếu bạn có khóa SSH hiện có thì hãy lưu khóa với một tên tệp khác như hình dưới đây.

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

Thay thế xxxở cuối tên tệp bằng một tên thích hợp, như hình dưới đây và nhấn Enter.

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

Lời nhắc tiếp theo sẽ yêu cầu bạn nhập cụm mật khẩu có độ dài tùy ý, nó sẽ đảm bảo bảo mật hai cấp trên thiết bị của bạn. 

Enter passphrase (empty for no passphrase):
Enter same passphrase again:

Nhập cụm mật khẩu này sẽ đảm bảo rằng ngay cả khi một người có quyền truy cập vào khóa cá nhân của bạn, thì họ sẽ không thể truy cập vào máy chủ từ xa của bạn nếu không có cụm mật khẩu này.

Sau khi toàn bộ quá trình hoàn tất, thông báo sau sẽ xuất hiện trên màn hình của bạn.

Cách thêm khóa SSH trên Ubuntu 20.04

Khóa SSH đã được tạo trên hệ thống của bạn. Bây giờ là lúc sao chép khóa công khai trên máy chủ từ xa.

Sao chép khóa công khai vào Máy chủ Ubuntu từ xa

Phương pháp dễ nhất và nhanh nhất để sao chép Khóa công khai vào máy chủ từ xa là sử dụng ssh-copy-idtiện ích. Nhưng nếu tiện ích này không khả dụng trên máy của bạn vì lý do nào đó thì bạn cũng có thể sử dụng các phương pháp khác được cung cấp trong phần này.

Sử dụng tiện ích ssh-copy-id

Theo ssh-copy-idmặc định, tiện ích này có sẵn trên máy Ubuntu của bạn, tiện ích này sẽ sao chép khóa công khai từ thiết bị của bạn vào thư mục thích hợp trên máy Ubuntu từ xa của bạn.

Để sao chép khóa ssh công khai, chỉ cần nhập lệnh vào thiết bị đầu cuối của bạn, như hình dưới đây.

ssh-copy-id [email protected]

Thay thế usernamehostnametrong lệnh trên bằng tên người dùng và tên máy chủ của máy chủ của bạn.

Thông báo sau sẽ xuất hiện trên thiết bị đầu cuối của bạn nếu bạn đang kết nối với máy chủ của mình lần đầu tiên, hãy nhập yesvà nhấn Enter.

Không thể thiết lập tính xác thực của máy chủ lưu trữ '172.105.XX.XX (172.105.XX.XX)'.
Tệp tham chiếu khóa ECDSA là xx: xx: xx: xx: 77: fe: 73: xx: xx: 55: 00: ad: d6: xx: xx: xx.
Bạn có chắc chắn muốn tiếp tục kết nối (có / không) không? đúng

Bây giờ, ssh-copy-idtiện ích sẽ quét tệp có tên id_rsa.pubchứa khóa SSH công khai. Khi quá trình quét hoàn tất, nó sẽ nhắc bạn nhập mật khẩu của máy chủ từ xa, như hình dưới đây. Nhập mật khẩu và nhấn Enter.

/ usr / bin / ssh-copy-id: INFO: cố gắng đăng nhập bằng (các) khóa mới, để lọc ra bất kỳ khóa nào đã được cài đặt
/ usr / bin / ssh-copy-id: INFO: 1 (các) khóa vẫn được cài đặt - nếu bây giờ bạn được nhắc, bạn phải cài đặt các khóa mới
mật khẩu của [email bảo vệ] :

Sau khi khóa được thêm vào, thông báo sau sẽ xuất hiện trên thiết bị đầu cuối của bạn dưới dạng đầu ra.

Số lượng khóa được thêm vào: 1
Bây giờ, hãy thử đăng nhập vào máy bằng: "ssh ' [email protected] '" và kiểm tra để đảm bảo rằng chỉ (các) khóa bạn muốn mới được thêm vào.

Trong trường hợp bạn có nhiều khóa SSH trên máy tính khách của mình thì để sao chép khóa công khai thích hợp vào máy tính từ xa của bạn, hãy nhập lệnh trong mẫu hiển thị bên dưới.

ssh-copy-id -i id_rsa_xxx.pub [email protected]

💡 Mẹo

Đừng quên đặt .pub ở cuối tên tệp khi nhập vào thiết bị đầu cuối.

Sao chép khóa công khai bằng phương pháp đường ống

Nhập lệnh sau vào terminal nếu ssh-copy-idtiện ích không khả dụng. Lệnh này có vẻ dài hơn một chút nhưng nó hoạt động thích hợp.

cat ~/.ssh/id_rsa.pub | ssh [email protected]_ip_address "mkdir -p ~/.ssh && touch ~/.ssh/authorized_keys && chmod -R go= ~/.ssh && cat >> ~/.ssh/authorized_keys"

Thay thế remote_usernameserver_ip_addressvới tên người dùng và địa chỉ IP.

Nếu bạn có nhiều khóa SSH trên máy tính của mình thì hãy thay thế id_rsa.pubbằng tệp khóa SSH công khai mà bạn chọn. Ví dụ id_rsa_client_1.pub,.

Nhập mật khẩu người dùng từ xa khi được nhắc và nhấn Enter.

[email protected]'s password:

Sau khi bạn nhập mật khẩu, id_rsa.pubtệp sẽ được sao chép vào authorized_keystệp của máy chủ từ xa.

Sao chép thủ công Khóa công khai

Sử dụng phương pháp này khi bạn không có quyền truy cập vào hệ thống từ xa của mình thông qua xác thực mật khẩu.

Mở id_rsa.pubtệp bằng catlệnh trong thiết bị đầu cuối. Bạn cũng có thể mở nó từ một trình soạn thảo văn bản, mục đích chỉ là sao chép nội dung của tập tin.

cat ~/.ssh/id_rsa.pub

Nội dung của tệp sẽ như thế nào, như hình dưới đây.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQComjFtuHvHQ67uf3RXg2wgK4EtxBvBvLCtlc4chG + nJ1cbuJjJ6G8az4xsRN1Q7hrV4dYR81Tk3gRApiMdGcMvInU3Vb7Wq3nh9GS4xnLRH1wvb149wogum2MycIES69Xh0cib + VvJyZ + dGO8zRNT64 + SvfiecRV0llnBGWDRqrIGtMHJkKz7VDKuSyzDit / Ck1NFXxC6Plw3cEMOhWHycm8bnSHSoVpr95ySxxnokX4 / 9iAlvOovxTpMpmDaDvuHKgHxcsOv9Q4sz // 6Hy / 65 + qqmiuLyuIQXjDiiYTjHTx + VNi6S0iMLoN6XgDLp0MfG6kLvZ0Z + csqdvIDQfMuH [email protected] _PC

Bây giờ, đăng nhập vào máy chủ từ xa của bạn và dán nội dung đã sao chép bằng lệnh hiển thị bên dưới. Thay thế above_stringbằng nội dung đã sao chép.

echo above_string >> ~/.ssh/authorized_keys

Định cấu hình nhiều khóa SSH (Tùy chọn)

Bước này dành cho những người đã thiết lập nhiều Khóa SSH trên máy tính khách của họ. Bỏ qua phần này nếu bạn chỉ có một thiết lập Khóa SSH.

Để quản lý nhiều Khóa SSH, bây giờ chúng ta sẽ tạo một configtệp bên trong .sshthư mục bằng lệnh hiển thị bên dưới.

cd ~/.ssh
vim config

Nhập iđể vào chế độ lệnh và nhập chi tiết của nhiều máy chủ, như được hiển thị trong ví dụ sau:

Host remote-ubuntu-server
HostName 172.105.XX.XX
User root
IdentityFile ~/.ssh/id_rsa_client_1

Host remote-ubuntu-server
HostName 172.106.XX.XX
User root
IdentityFile ~/.ssh/id_rsa_client_2

Tương tự, hãy nhập thông tin chi tiết của các máy chủ từ xa khác và khóa của chúng. Sau khi quá trình hoàn tất, nhấn Esc:wqđể lưu và thoát.

Bây giờ các quy trình tiếp theo đều giống nhau đối với cả việc có một hoặc nhiều Khóa SSH trên máy tính khách.

Đăng nhập vào máy chủ từ xa của bạn bằng các khóa SSH

Khi quá trình sao chép Khóa công khai của bạn hoàn tất, hãy đăng nhập vào máy chủ từ xa của bạn bằng cách gõ lệnh như hình dưới đây.

ssh [email protected]_ip_address

Nếu bạn đã cung cấp cụm mật khẩu trong khi tạo cặp khóa thì bạn sẽ được nhắc nhập cụm mật khẩu đó. Một phiên mới sẽ mở sau khi quá trình xác thực hoàn tất.

Bây giờ bạn đã định cấu hình thành công xác thực dựa trên khóa SSH trên máy chủ từ xa của mình. Nhưng xác thực dựa trên mật khẩu vẫn hoạt động trên máy chủ của bạn, điều này có nghĩa là máy chủ Remter của bạn vẫn dễ bị tấn công brute-force.

Vì vậy, bây giờ chúng tôi sẽ vô hiệu hóa hoàn toàn cơ chế đăng nhập dựa trên mật khẩu từ máy chủ từ xa của chúng tôi.

Tắt Cơ chế đăng nhập dựa trên mật khẩu

Trước khi bạn thực hiện bất kỳ thay đổi nào, hãy đảm bảo rằng người dùng root hoặc bất kỳ người dùng nào đã bật sudo cho tài khoản từ xa của bạn có quyền truy cập vào máy chủ của bạn bằng hệ thống xác thực dựa trên khóa SSH. Bước này sẽ khóa hoặc vô hiệu hóa hoàn toàn đăng nhập dựa trên mật khẩu, vì vậy điều quan trọng là ít nhất một đặc quyền root của người dùng có quyền truy cập vào máy chủ thông qua khóa SSH.

Đăng nhập vào máy chủ Ubuntu từ xa của bạn và nhập lệnh hiển thị bên dưới.

sudo vim /etc/ssh/sshd_config
  • Bấm Esc, /và gõ 'PasswordAuthentication' và hit enter
  • Bây giờ hãy nhấn ivà thay đổi giá trị của 'PasswordAuthentication yes' thành 'PasswordAuthentication no'.
  • Nhấn Escvà lặp lại quá trình trên để tìm 'ChallengeResponseAuthentication', 'UsePAM' và thay đổi cả giá trị của chúng thành no.
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Khi tất cả các giá trị được đặt thành no, hãy nhấn Esc, nhập :wqvà nhấn enter.

Để kích hoạt tất cả các thay đổi, hãy khởi động lại sshdịch vụ bằng lệnh dưới đây.

sudo systemctl restart ssh

Bây giờ, hãy mở một cửa sổ đầu cuối mới trên máy tính của bạn và xác minh rằng xác thực Khóa SSH của bạn đang hoạt động bình thường trước khi đóng phiên hiện tại.

Khi quá trình xác minh hoàn tất, hãy đóng tất cả các phiên đang chạy.

Bây giờ chúng tôi đã định cấu hình thành công xác thực dựa trên Khóa SSH trên máy chủ Ubuntu 20.04 của chúng tôi. Giờ đây, không ai có thể đăng nhập vào máy chủ của bạn bằng cơ chế đăng nhập dựa trên mật khẩu. 


Cách sao chép và dán trên Chromebook

Cách sao chép và dán trên Chromebook

Điều đầu tiên bạn có thể thắc mắc khi chuyển sang Chromebook là làm thế nào để thực hiện những thứ cơ bản — loại nội dung bạn có trong tay trong hệ điều hành trước đó của mình. Sao chép và dán là một trong những chức năng cơ bản mà bạn phải sử dụng vào lúc này hay lúc khác.

Làm thế nào để làm bài kiểm tra đánh máy trên Linux với tt

Làm thế nào để làm bài kiểm tra đánh máy trên Linux với tt

Trong thời đại công nghệ hiện đại, đánh máy đã trở thành một trong những hoạt động phổ biến nhất cho rất nhiều ngành nghề. Học cách gõ nhanh hơn với độ chính xác có thể giúp bạn hoàn thành nhiều việc hơn trong cùng một khoảng thời gian.

Wi-Fi không hoạt động trên Ubuntu? Đây là cách khắc phục

Wi-Fi không hoạt động trên Ubuntu? Đây là cách khắc phục

Ubuntu phổ biến vì tính mạnh mẽ và tương đối ít lỗi. Nhưng chắc chắn không phải là không có vấn đề. Một trong những vấn đề như vậy là với trình điều khiển Wi-Fi của nó. Bạn có thể bật nguồn hệ thống của mình chỉ khi thấy rằng Wi-Fi của bạn không hoạt động.

Cách tạo và quét mã QR trên Chromebook

Cách tạo và quét mã QR trên Chromebook

Mã phản hồi nhanh, gọi tắt là mã QR, là mã vạch nâng cao chứa nhiều thông tin hơn mã vạch truyền thống. Các mã này là hai chiều, cho phép bạn quét chúng theo chiều dọc hoặc chiều ngang.

Cách cài đặt và gỡ bỏ các gói trong Arch Linux

Cách cài đặt và gỡ bỏ các gói trong Arch Linux

Bạn muốn cài đặt các gói trên Arch Linux nhưng không biết làm thế nào? Rất nhiều người gặp phải vấn đề này khi lần đầu tiên họ chuyển từ các bản phân phối dựa trên Debian sang Arch. Tuy nhiên, bạn có thể dễ dàng quản lý các gói trên hệ thống dựa trên Arch của mình bằng cách sử dụng các trình quản lý gói.

Cách cài đặt Spotify trên Linux

Cách cài đặt Spotify trên Linux

Spotify là một trong những dịch vụ phát trực tuyến nhạc lớn nhất hiện có. Nó có các ứng dụng khách dành cho cả thiết bị di động (Android và iOS) và máy tính để bàn (Mac và Windows).

9 lệnh cơ bản giúp bạn bắt đầu với Linux

9 lệnh cơ bản giúp bạn bắt đầu với Linux

Hướng dẫn cách sử dụng Linux thường mong đợi bạn thực hiện một số thao tác nhất định trong thiết bị đầu cuối, điều này thoạt đầu có vẻ đáng sợ. Nhưng không băn khoăn; Bảng lừa đảo lệnh Linux này sẽ trình bày quá trình mở một thiết bị đầu cuối và đưa ra một vài lệnh hữu ích.

Trình chỉnh sửa video miễn phí tốt nhất cho Ubuntu năm 2020

Trình chỉnh sửa video miễn phí tốt nhất cho Ubuntu năm 2020

Bỏ qua tất cả những điều sơ sài, đây là danh sách các trình chỉnh sửa video miễn phí tốt nhất cho Ubuntu mà bạn có thể sử dụng để tạo ra những video tuyệt đẹp.

15 chủ đề hay nhất cho Ubuntu 20.04 vào năm 2020

15 chủ đề hay nhất cho Ubuntu 20.04 vào năm 2020

Rất nhiều chủ đề cập nhật mới đã sẵn sàng được cài đặt trên máy tính để bàn GNOME mới của Ubuntu 20.04. Đây là danh sách các chủ đề ubuntu tốt nhất vào năm 2020

Cách di chuyển tệp Linux bằng lệnh Mv

Cách di chuyển tệp Linux bằng lệnh Mv

Mặc dù bạn có thể đã biết cách di chuyển tệp trong Linux bằng trình duyệt tệp GUI, nhưng bạn có thể tự hỏi liệu có lệnh di chuyển trong thiết bị đầu cuối cho phép bạn nhanh chóng di chuyển tệp đến các thư mục khác nhau hay không. Lệnh mv là lệnh bạn muốn và nó dễ sử dụng với cú pháp đơn giản và một số cờ an toàn tùy chọn.