SSH: máy chủ được biết đến với địa chỉ động


12

Tôi cần kết nối với máy chủ có địa chỉ IP động.

Mỗi khi IP của nó thay đổi, SSH sẽ nhắc tôi điều xác thực dấu vân tay:

The authenticity of host '...' can't be established.
RSA key fingerprint is ....
Are you sure you want to continue connecting (yes/no)?

Có thể vượt qua SSH khóa công khai của máy chủ để:

  1. SSH tự động xác thực tính xác thực của máy chủ
  2. Khóa máy chủ không được lưu trữ trong tệp know_hosts

Câu hỏi này khác với Làm thế nào tôi có thể tránh xác minh máy chủ của SSH cho các máy chủ đã biết? vì đó câu hỏi khác nhằm mục đích xác nhận đàn áp SSH, trong khi tôi không muốn để ngăn chặn nó: Tôi làm muốn có máy chủ xác thực, chỉ sử dụng khóa công khai của máy chủ (mà tôi biết, và có nó được lưu trữ trong một tập tin) chứ không phải là SSH known_hoststập tin.

Đối với tôi, câu hỏi khác dường như là về việc kết nối với một máy chủ khác mỗi lần, thay vì kết nối với một máy chủ nổi tiếng duy nhất có IP động.

Câu trả lời:


8

Giải pháp tốt nhất (nghĩa là gần nhất với những gì tôi muốn) tôi có thể tìm thấy là sử dụng tùy chọn HostKeyAlias: nó sẽ sử dụng tên máy chủ tôi chỉ định để truy cập known_hosts(thay vì IP tôi đang kết nối).

Tôi sẽ cần thêm khóa chung của máy chủ để known_hostssử dụng tên máy chủ cụ thể (ví dụ myhost:) và sau đó kết nối với nó bằng cách sử dụng:

ssh -o 'HostKeyAlias myhost' ...

Tôi biết đã được một lúc, nhưng: nếu điều này trả lời tốt nhất câu hỏi của bạn, xin vui lòng chấp nhận nó.
kittykittybangbang

Lưu ý cho người khác: bạn có thể thêm HostKeyAliasgiá trị cấu hình vào ~/.ssh/configtệp của mình hoặc thậm chí vào /etc/ssh/ssh_configtệp toàn cầu .
kael

6

Các known_hoststập tin không chỉ là chìa khóa, nó cũng chứa tên máy bạn sử dụng để kết nối, và nếu có thể các IP tương ứng. Đó là lý do tại sao bạn thấy lỗi, nó đang so sánh bộ ba mà nó nhận được từ máy chủ với những gì bạn đã lưu trữ trong tệp know_hosts.

Vì vậy, nếu IP liên tục thay đổi, bạn có thể vô hiệu hóa CheckHostIPvà điều đó có nghĩa là nó sẽ chỉ kiểm tra tên máy chủ và khóa máy chủ. Nếu những điều đó vẫn không thay đổi, bạn sẽ có ít khiếu nại hơn, nhưng bạn sẽ gặp rủi ro nếu ai đó chiếm quyền điều khiển DNS của bạn.


1
Cảm ơn câu trả lời, tôi sẽ kiểm tra nó càng sớm càng tốt! Tại sao nó sẽ ở rist anyway? Nếu tôi biết khóa công khai SSH của máy chủ lưu trữ, điều đó đủ để an toàn trong mọi trường hợp (trừ khi ai đó quản lý để đánh cắp khóa riêng của máy chủ đó), không nên sao?
peoro

Và tôi vẫn không thực sự thích nó nếu tôi phải trung thực. Sử dụng cờ đó SSH vẫn sẽ truy cập known_hosts. Tại sao? Tôi không thể nói "ssh kết nối với X có khóa công khai là Y"? Tại sao không? Điều đó sẽ không chắc chắn 100%.
peoro

Ý tưởng là khóa máy chủ là một phần của tổng thể lớn hơn và một mình nó không đủ đảm bảo để đảm bảo máy chủ bạn đang kết nối vẫn là máy chủ bạn đã kết nối trước đó. Bạn cần chắc chắn rằng các mục nhập IP và DNS cũng khớp với nhau .. hãy nhớ rằng, đây là lớp vỏ dựa trên mạng, vì vậy mạng cũng cần phải được kiểm tra.
NickW
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.