Vấn đề xác minh khóa máy chủ SSH bằng VIP


8

Chúng tôi có 2 máy chủ sản xuất trên VIP, mỗi lần chỉ có một máy chủ được sử dụng:

myservice.mycompany.uk thường trỏ đến server1, trong trường hợp server1 không thành công, nó sẽ thay đổi thành trỏ tại server2.

Có một số máy chủ khác cần gửi tệp tới myservice.mycompany.uk qua SFTP và nó sẽ hoàn toàn minh bạch đối với chúng nếu chúng tôi chuyển sang server2.

Vấn đề là trong khi các khóa được cài đặt trên cả server1 và server2, các máy chủ khác sẽ gặp sự cố xác minh khóa máy chủ, vì khóa máy chủ của server2 khác với khóa máy chủ của server1. Điều này gây ra lỗi bảo mật (vì đã bật kiểm tra nghiêm ngặt) và một dòng phải được xóa khỏi know_host để làm cho nó hoạt động.

Anh chàng IT của chúng tôi đã đề xuất rằng chúng tôi có thể tạo 2 mục trong know_host, một với khóa cho server1 và một với server2, cả hai đều có máy chủ myservice.mycompany.uk.

Điều đó có khả năng làm việc không? Làm thế nào điều này có thể được thực hiện với putty / psftp trên windows? Vì khóa máy chủ được lưu trữ trong sổ đăng ký và tên trùng lặp không được phép. Có cách nào tốt hơn không, ví dụ chúng ta có thể buộc các máy chủ có cùng khóa máy chủ không?

Câu trả lời:


15

Để giúp khách hàng dễ dàng hơn, tôi chỉ cần sử dụng cùng một khóa máy chủ trên cả hai máy. Chỉ cần sao chép một trong các khóa (một trong những máy chủ hiện đang sử dụng) sang máy thứ hai. Họ đang ở trong /etc/ssh/ssh_host_*.

Một tùy chọn khác là hủy kích hoạt kiểm tra khóa máy chủ trên máy khách. Điều này có thể được thực hiện bằng cách điều chỉnh ssh_configđể sử dụng:

Host myservice.mycompany.uk
    StrictHostKeyChecking

Tắt kiểm tra khóa máy chủ thay vì làm suy yếu điểm sử dụng SSH để chuyển các tệp này, sao chép khóa máy chủ có lẽ là giải pháp tốt nhất.
James Yale

1
Tắt kiểm tra khóa máy chủ không có nghĩa là giao tiếp không được mã hóa chính xác, đây là điểm chính của SSH. Điều đó nói rằng, như tôi đã nói, tôi ủng hộ giải pháp đầu tiên cho mình.
ℝaphink

Trong phiên bản máy khách (với các khóa máy chủ khác nhau) của giải pháp, bạn cũng cần thêm UserKnownHostsFile=/dev/nullmột khóa khác, khóa đầu tiên sẽ đi vào các máy chủ đã biết và lần thứ hai sẽ dẫn đến cảnh báo "người đứng giữa".
Nils

@Nils điều này không cần thiết; cài đặt StrictHostKeyChecking yessẽ làm cho tệp UserKnownhosts bị bỏ qua có lợi cho tệp máy chủ được biết đến của hệ thống. Vì vậy, bất cứ điều gì sửa đổi UserKnownhost đều khá vô nghĩa.
Michael Lowman

Ok - Tôi phải làm rõ điều này hơn nữa: Tôi nói về trường hợp bạn có hai khóa máy chủ khác nhau. Ở đó bạn phải chỉ định StrictHostKeyChecking novà đặt thêm thành UserKnownHostsFile/ dev / null. Trong trường hợp đó, tất cả các khóa máy chủ sẽ được chấp nhận (dĩ nhiên, mức độ bảo mật này vô dụng).
Nils

0

Tôi đã lưu trữ điều này theo cách này, người dùng root chạy một tập lệnh vào lúc 23:00 PM kết nối với địa chỉ IP logic của cụm linux, vì vậy trong trường hợp chuyển đổi địa chỉ ip, thay đổi vân tay ssh của tôi

echo "StrictHostKeyChecking no" >> /root/.ssh/config 
echo "UserKnownHostsFile /dev/null" >> /root/.ssh/config

Theo cách này, cài đặt chỉ dành cho root

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.