Cách sử dụng ssh-keygen để tạo khóa SSH

How Use Ssh Keygen Generate An Ssh Key



SSH hoặc Secure Shell là một giao thức được mã hóa hữu ích để bảo mật các kết nối giữa máy khách và máy chủ cho các tác vụ quản trị khác nhau. Nó hỗ trợ nhiều loại hệ thống xác thực khác nhau. Xác thực dựa trên khóa công khai và xác thực dựa trên mật khẩu chủ yếu được sử dụng. Xác thực dựa trên khóa an toàn hơn xác thực dựa trên mật khẩu. Các cặp khóa xác thực cho SSH được tạo bởi công cụ ssh-keygen có thể được sử dụng cho các mục đích khác nhau như xác thực máy chủ, tự động đăng nhập, v.v. Cách sử dụng công cụ này trong Ubuntu đã được trình bày trong hướng dẫn này.

Cú pháp:

Cú pháp của lệnh này được đưa ra bên dưới. Nó hỗ trợ nhiều tùy chọn để tạo các cặp khóa xác thực đã được mô tả ở phần sau.







ssh-keygen [-NS] [-b bit] [-Sao vậy] [-f output_keyfile] [định dạng -m]

[-t dsa|ecdsa|ecdsa-sk|ed25519|ed25519-sk|rsa]

[-N new_passphrase] [-O tùy chọn] [-w nhà cung cấp]

Các tùy chọn khác nhau của ssh-keygen:

Các mục đích của việc sử dụng các loại tùy chọn ssh-keygen khác nhau được giải thích bên dưới.



Lựa chọn Mục đích
-ĐẾN Nó tạo các khóa máy chủ với đường dẫn tệp khóa mặc định, cụm mật khẩu trống, các bit mặc định cho loại khóa và nhận xét.
-b bit Nó được sử dụng để xác định số bit trong khóa sẽ được tạo.
-Sao vậy Nó được sử dụng để xác định nhận xét mới.
-NS Nó được sử dụng để yêu cầu thay đổi nhận xét của các tệp khóa công khai và riêng tư.
-E vân tay_hash Nó được sử dụng để xác định thuật toán băm sẽ được sử dụng để hiển thị các dấu vân tay.
-Và Nó được sử dụng để đọc tệp khóa cá nhân hoặc khóa công khai và in ra stdout.
-Tên máy chủ F | [tên máy chủ]: cổng Nó được sử dụng để tìm kiếm tên máy chủ cụ thể với số cổng tùy chọn trong tệp known_hosts.
-f tên tệp Nó được sử dụng để xác định tên tệp của tệp khóa.
-NS Nó được sử dụng để băm một tệp known_hosts. Nó sẽ thay thế tất cả tên máy chủ và địa chỉ bằng các đại diện được băm trong tệp được chỉ định. Nội dung gốc sẽ được chuyển sang tệp có hậu tố .old.
-tôi Nó được sử dụng để đọc một tệp khóa riêng tư (hoặc công khai) không được mã hóa.
-NS Nó được sử dụng để in nội dung của một hoặc nhiều chứng chỉ.
-NS Nó được sử dụng để hiển thị dấu vân tay của một tệp khóa công khai được chỉ định.
-N new_passphrase Nó được sử dụng để cung cấp cụm mật khẩu mới.
-P cụm mật khẩu Nó được sử dụng để cung cấp cụm mật khẩu cũ.
-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa Nó được sử dụng để xác định loại khóa sẽ được tạo.

Tạo khóa bằng ssh-keygen:

Bạn có thể tạo cặp khóa SSH bằng cách chạy ssh-keygen với các tùy chọn hoặc không có bất kỳ tùy chọn nào. Các cách khác nhau để tạo các cặp khóa SSH đã được trình bày trong phần này của hướng dẫn này. Bạn phải đăng nhập vào máy chủ nơi OpenSSH đã cài đặt để tạo khóa



Tạo các cặp khóa mà không có bất kỳ tùy chọn nào:

Lệnh sau sẽ tạo các cặp khóa mà không cần sử dụng bất kỳ tùy chọn nào.





$ssh-keygen

Sau khi thực hiện lệnh trên, bạn có thể cung cấp tên tệp nơi khóa sẽ được lưu hoặc nhấn phím Enter để lưu tên tệp mặc định. Tại đây, phím Enter đã được nhấn. Tiếp theo, bạn có thể nhấn phím Enter một lần nữa để đặt mật khẩu trống hoặc đặt mật khẩu.



Tạo các cặp khóa với một tùy chọn duy nhất:

Lệnh sau sẽ tạo các cặp khóa kiểu rsa được đề cập trong lệnh với tùy chọn -t.

$ssh-keygen -NSrsa

Giống như lệnh trước, bạn có thể cung cấp tên tệp hoặc sử dụng tên tệp mặc định để lưu trữ các cặp khóa và đặt mật khẩu hoặc mật khẩu trống cho kết nối SSH.

Tạo các cặp khóa với nhiều tùy chọn:

Chạy lệnh sau để tạo các cặp khóa kiểu rsa với 2000 bit và giá trị chú thích,[email được bảo vệ].

$ssh-keygen -NSrsa-NS 2000 -NS ' [email được bảo vệ] '

Giống như lệnh trước, bạn có thể cung cấp tên tệp hoặc sử dụng tên tệp mặc định để lưu trữ các cặp khóa và đặt mật khẩu hoặc mật khẩu trống cho kết nối SSH. Nếu bạn đã tạo các tệp khóa trước khi thực hiện lệnh trên, thì nó sẽ yêu cầu bạn ghi đè tệp khóa hay không. Nếu bạn nhập ‘y’, thì nó sẽ ghi đè lên tệp đã tạo trước đó bằng các khóa mới.

Sao chép khóa công khai vào máy chủ:

Chạy lệnh sau từ máy chủ để thêm khóa công khai vào máy chủ. Lệnh sẽ sao chép khóa vào máy chủ và định cấu hình nó để thêm khóa vào tệp ủy quyền_giúp để truy cập máy chủ.

$ssh-copy-id-tôi~/.ssh/id_rsa fahmida@fahmida-VirtualBox

Đầu ra sau đây sẽ xuất hiện nếu khóa công khai không được thêm trước đó vào máy chủ.

Sửa đổi tệp cấu hình của máy chủ:

Bạn phải bật một số tùy chọn trong tệp cấu hình của máy chủ nếu bạn muốn đặt xác thực dựa trên mật khẩu và cho phép người dùng root đăng nhập vào máy chủ. Đường dẫn của tệp cấu hình SSH của máy chủ là / etc / ssh / sshd_config. Mở tệp trong bất kỳ trình soạn thảo văn bản nào. Chạy lệnh sau để chỉnh sửa tệp trong trình chỉnh sửa nano.

$sudo nano /Vân vân/ssh/sshd_config

Thêm hoặc sửa đổi tệp với các dòng sau để kích hoạt xác thực dựa trên mật khẩu và đặt quyền cho đăng nhập của người dùng root.

Xác thực mật khẩuđúng

PermitRootLoginđúng

Lưu và đóng tập tin. Chạy lệnh sau để khởi động lại dịch vụ SSH.

$sudokhởi động lại systemctlssh

Đăng nhập từ máy khách SSH:

Đăng nhập vào máy khách từ nơi bạn muốn kết nối với máy chủ để kiểm tra xem kết nối SSH có hoạt động hay không. Mở thiết bị đầu cuối và chạy lệnh sau để thêm danh tính của máy chủ.

$ssh-add

Chạy lệnh ssh sau để kết nối với máy chủ từ máy khách. Xác thực mật khẩu và đăng nhập gốc đã được bật trong tệp cấu hình SSH của máy chủ trong phần trước của hướng dẫn này. Vì vậy, người dùng phải cung cấp mật khẩu gốc hợp lệ của máy chủ để thiết lập kết nối SSH thành công.

$ssh <đếnhref='mailto: [email được bảo vệ]'>fahmida@10.0.2.15

Đầu ra tương tự sau đây sẽ xuất hiện sau khi thiết lập kết nối SSH với máy chủ từ máy khách.

Phần kết luận:

Việc sử dụng ssh-keygen để tạo cặp khóa SSH theo các cách khác nhau đã được giải thích trong hướng dẫn này. Tôi hy vọng người dùng Ubuntu sẽ tạo các khóa SSH bằng cách sử dụng ssh-keygen để thiết lập kết nối SSH sau khi đọc hướng dẫn này.