Làm cách nào để trao đổi khóa SSH để xác thực không cần mật khẩu giữa các máy chủ Linux?

Triển khai xác thực dựa trên khóa SSH trên Linux


SSH (Secured Shell) là giao thức tạo kết nối được bảo mật bằng mật mã giữa máy khách SSH và máy chủ từ xa.

Sử dụng SSH, bạn có thể quản lý và quản lý máy chủ từ xa một cách an toàn. Điều này có thể hữu ích theo nhiều cách.

  • Triển khai nhiều máy chủ
  • Dừng / bắt đầu dịch vụ từ xa
  • Tự động hóa

và tất cả sự sáng tạo của bạn (hy vọng)

Là một sysadmin, đây là loại công cụ cơ bản cần biết.

Hãy cùng học cách

Tôi sẽ tạo khóa riêng và khóa chung. Khóa riêng phải được lưu trữ trên máy khách ssh của bạn và phải được giữ an toàn. Khóa công khai phải được sao chép vào máy chủ từ xa để đăng nhập vào máy chủ đó từ máy khách SSH không cần mật khẩu.

Bạn học được những điều sau đây.

  • Cài đặt SSH (không bắt buộc nếu đã cài đặt)
  • Tạo khóa SSH
  • Sao chép khóa SSH vào máy chủ từ xa
  • Đăng nhập vào máy chủ từ xa bằng SSH

Với mục đích trình diễn, tôi có 2 máy chủ có địa chỉ IP bên dưới, một hệ thống là máy khách và hệ thống còn lại là máy chủ mà tôi sẽ đăng nhập thông qua ssh từ máy khách.

  • Khách hàng (người dùng -> geekflare): 192.168.56.102
  • Điều khiển từ xa -> ubfox): 192.168.56.101

Cài đặt SSH

Trước khi bạn làm theo các bước được đề cập trong bài viết này, hãy đảm bảo máy chủ openssh được cài đặt trên các máy chủ. Nếu nó không được cài đặt, hãy chạy các lệnh bên dưới để cài đặt.

sudo apt-get install openssh-server

sudo systemctl kích hoạt ssh

sudo systemctl bắt đầu ssh

Bạn có thể chạy lệnh ssh để kiểm tra xem nó có được cài đặt trên hệ thống hay không.

[email được bảo vệ]: ~ $ ssh

cách sử dụng: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface]

[-b bind_address] [-c Codes_spec] [-D [bind_address:] port]

[-E log_file] [-e esc_char] [-F configfile] [-I pkcs11]

[-i nhận dạng_file] [-J [[email được bảo vệ]] máy chủ [: port]] [-L địa chỉ]

[-l login_name] [-m mac_spec] [-O ctl_cmd] [tùy chọn -o] [-p port]

[-Q query_option] [-R address] [-S ctl_path] [-W host: port]

[-w local_tun [: remote_tun]] đích [lệnh]

Tạo khóa SSH

Điều này cần phải được thực hiện trên một máy chủ.

Chạy lệnh ssh-keygen để tạo khóa SSH. Chỉ cần nhấn enter khi nó yêu cầu tệp, cụm mật khẩu, cụm mật khẩu tương tự. Nó tạo một cặp khóa trong thư mục ~ / .ssh theo mặc định. Id_rsa là khóa riêng và id_rsa.pub là khóa chung.

[email được bảo vệ]: ~ $ ssh-keygen

Tạo cặp khóa rsa công khai / riêng tư.

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

Nhập cụm mật khẩu (trống không có cụm mật khẩu):

Nhập lại cụm mật khẩu một lần nữa:

Nhận dạng của bạn đã được lưu trong /home/geekflare/.ssh/id_rsa.

Khóa công khai của bạn đã được lưu trong /home/geekflare/.ssh/id_rsa.pub.

Dấu vân tay chính là:

SHA256: 3XDm62tzJegGm8oAmFYCyeFZovJOuU42zNgyn9GzH30 [email được bảo vệ]

Hình ảnh ngẫu nhiên của khóa là:

+—[RSA 2048]—-+

| o + .. |

| + o + |

| oo. . . o |

| .. *. * |

| B. S. o. |

| Ôi. . . …. |

| + @ o o. E =. o |

| B + o + .o. =. |

| + … o. oo + |

+—-[SHA256]—–+

Nó sẽ tạo hai tệp mới trong thư mục ~ / .ssh.

Sao chép khóa SSH vào máy chủ từ xa

Khóa riêng nên được sao chép thư mục ~ / .ssh trên máy chủ từ xa. Hầu hết các máy chủ nên đã có thư mục này nếu không, bạn cần tạo một thư mục.

Và, để làm như vậy:

  • Đăng nhập vào máy chủ từ xa với người dùng bạn muốn kết nối. Trong trường hợp của tôi, Ubuntu của nó
  • Đảm bảo thư mục làm việc hiện tại là thư mục nhà của người dùng và sau đó tạo thư mục .ssh. Bạn cũng có thể sử dụng lệnh đơn sau đây để tạo một lệnh

mkdir -p ~ / .ssh

Nếu bạn đã có thư mục .ssh thì hãy sao lưu nó.

Tiếp theo, hãy để Lôi đẩy khóa công khai từ máy chủ.

Trên máy khách (192.168.56.102), hãy chạy lệnh bên dưới để sao chép khóa chung trên máy chủ từ xa bên trong tệp ủy quyền_key trong thư mục .ssh.

[email được bảo vệ]: ~ $ mèo .ssh / id_rsa.pub | ssh [email được bảo vệ] ‘con mèo >> .ssh / ủy quyền_key ‘

[email được bảo vệ]Mật khẩu:

Chạy lệnh bên dưới để đặt quyền trên tệp ủy quyền trên máy chủ từ xa.

[email được bảo vệ]: ~ $ ssh [email được bảo vệ] "chmod 700 .ssh; chmod 640 .ssh / ủy quyền"

Tuyệt vời, khóa kết luận này được trao đổi và tất cả các quyền được thiết lập.

Đăng nhập vào máy chủ từ xa bằng SSH

Hãy thử kiểm tra xem nó có hoạt động không!

Hãy đăng nhập vào máy chủ từ xa (192.168.56.101) từ máy khách (192.168.56.102) với tư cách là người dùng geekflare.

Chạy lệnh bên dưới để kiểm tra, lần này giành được mật khẩu hỏi mật khẩu.

[email được bảo vệ]: ~ $ ssh [email được bảo vệ]

Chào mừng bạn đến với Ubuntu 16.04.6 LTS (GNU / Linux 4.4.0-151-chung i686)

* Tài liệu: https://help.ubfox.com

* Quản lý: https://landscape.canonical.com

* Hỗ trợ: https://ubfox.com/ nhược điểm

346 gói có thể được cập nhật.

11 cập nhật là cập nhật bảo mật.

Lần đăng nhập cuối cùng: Thứ Sáu 17 Tháng Sáu 00:10:32 2019 từ 192.168.56.101

Bạn đi đây

Tôi đã đăng nhập vào máy chủ từ xa thành công. Chạy bên dưới lệnh sẽ cung cấp chi tiết IP của máy từ xa.

[email được bảo vệ]: ~ $ ifconfig

enp0s3 Mã hóa liên kết: Ethernet HWaddr 08: 00: 27: 9b: 47: 86

inet addr: 10.0.2.15 Bcast: 10.0.2.255 Mặt nạ: 255.255.255.0

inet6 addr: fe80 :: 5c62: 3267: b752: fe5d / 64 Phạm vi: Liên kết

UP MADICAST RUNNING MULTICAST MTU: 1500 Số liệu: 1

Các gói RX: 20239 lỗi: 0 rớt: 0 tràn: 0 khung: 0

Gói TX: 5406 lỗi: 0 rớt: 0 tràn: 0 sóng mang: 0

va chạm: 0 txqueuelen: 1000

Các byte RX: 22678039 (22,6 MB) byte TX: 701710 (701,7 KB)

enp0s8 Liên kết mã hóa: Ethernet HWaddr 08: 00: 27: a9: 4a: 6b

inet addr: 192.168.56.101 Bcast: 192.168.56.255 Mặt nạ: 255.255.255.0

inet6 addr: fe80 :: 54a9: 761c: 9034: 21a2 / 64 Phạm vi: Liên kết

UP MADICAST RUNNING MULTICAST MTU: 1500 Số liệu: 1

Các gói RX: 330 lỗi: 0 rớt: 0 tràn: 0 khung: 0

Các gói TX: 197 lỗi: 0 rớt: 0 tràn: 0 sóng mang: 0

va chạm: 0 txqueuelen: 1000

Các byte RX: 42847 (42,8 KB) byte TX: 32774 (32,7 KB)

lo Liên kết mã hóa: Loopback cục bộ

inet addr: 127.0.0.1 Mặt nạ: 255.0.0.0

inet6 addr: :: 1/128 Phạm vi: Máy chủ

LÊN LOOPBACK CHẠY MTU: 65536 Số liệu: 1

Các gói RX: 997 lỗi: 0 rớt: 0 tràn: 0 khung: 0

Các gói TX: 997 lỗi: 0 rớt: 0 tràn: 0 sóng mang: 0

va chạm: 0 txqueuelen: 1

Các byte RX: 79654 (79,6 KB) byte TX: 79654 (79,6 KB)

Phần kết luận

Thiết lập trao đổi khóa SSH rất đơn giản như bạn có thể thấy. Tôi hy vọng điều này sẽ giúp bạn và quan tâm đến việc học quản trị và khắc phục sự cố Linux, sau đó kiểm tra điều này Khóa học của kẻ thù.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map