2015-10-20 13 views
11

tôi không có một thư mục .ssh cho đến khi tôi chạyĐiều gì thực sự trong known_hosts?

ssh [email protected]

này tạo ra một thư mục .ssh với một tập tin known_hosts.

Nó có một số văn bản như thế này trong đó.

foo.com,107.180.00.00 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuJfqSnraBz//Ux4j/hZpLv2eYUxNUgCk+9ClqoSgfcu4vXbWtUGSjo75UVQf+uguOeBnRLppJJ3mt0R5c/PPcawUGWfffk33t+biYcqra9xUcyfiGtO/Icko2L1J0EYTXM/8x8VK6UYFMfad2gltnZRa8Am50oHTXot1Df0RljUBxvh/UhmTJUrODpyrl2xY1OMWjM+S6uYCMNeSQGEpNfsWiCIStRnctMZSxiYJOLTSC4F2GF7B8pYFBn5rSwVHp17WCdO+4BZfwvH3HSSH8IWoyFhki+NlG912SEBJXcryvc0JPfAB9DTB4mRImjgrRT8vz5QeaCDrh8k4/A+U1fff 

Tôi nghĩ đây có thể là chìa khóa công khai hoặc khóa riêng tư của máy chủ của tôi, nhưng không phải như vậy.

Đây là gì và nó được sử dụng để làm gì?

Tôi chỉ đang cố gắng tìm hiểu thêm về ssh và cách hoạt động của ssh. Ví dụ trong trường hợp này tôi đã không thiết lập khóa riêng trên máy cục bộ để nó nhắc nhập mật khẩu như mong đợi.

Nghiên cứu

Nó giả sử là một khóa công khai cho máy chủ theo

https://security.stackexchange.com/questions/20706/what-is-the-difference-between-authorized-key-and-known-host-file-for-ssh

+0

* nhưng không phải. * Tại sao bạn giả sử? Bạn đã đọc trang hướng dẫn sử dụng cho 'sshd (8)', có chứa mô tả và định dạng của tệp này? – Jakuje

Trả lời

3

Để thêm vào các câu trả lời trên và nhận xét của bạn, Có bốn khối xây dựng cho phiên ssh

  1. Encryption (phím đối xứng có nguồn gốc sau key exhange per session)
  2. Tính toàn vẹn của dữ liệu (MAC sử dụng ví dụ SHA, HMAC)
  3. Phương thức trao đổi chính
  4. phương pháp chìa khóa công cộng hoặc tổ chức phương pháp then chốt

đàm phán thuật toán SSH liên quan đến một máy trao đổi nhà nước chủ chốt mà bắt đầu khi thông điệp SSH_MSG_KEXINIT cùng với danh sách thuật toán được gửi đi.

Phương thức trao đổi khóa hoặc chỉ đơn giản là kex chỉ định khóa phiên cho khóa công khai lưu trữ mã hóa và máy chủ xác thực (ssh-rsa, ssh-dss ..) được gửi cho khách hàng. Các bước dưới đây là các bước cơ bản mà diễn ra trong KEX sử dụng Diffie Hellman thuật toán trao đổi khóa

trích dẫn RFC https://tools.ietf.org/html/rfc4253

Các bước sau đây được sử dụng để trao đổi khóa. Trong đó, C là máy khách ; S là máy chủ; p là một nguyên tố an toàn lớn; g là máy phát điện cho nhóm con GF (p); q là thứ tự của phân nhóm; V_S là chuỗi nhận dạng của S; V_C là chuỗi nhận dạng của C; K_S là khóa máy chủ công khai của S; I_C là thông điệp SSH_MSG_KEXINIT của C và I_S là thông điệp SSH_MSG_KEXINIT của S đã được trao đổi trước phần này bắt đầu.

  1. C tạo ra một số ngẫu nhiên x (1 < x < q) và tính e = g^x mod p. C gửi e đến S.

  2. S tạo số ngẫu nhiên y (0 < y < q) và tính f = g^y mod p. S nhận e. Nó tính K = e^y mod p, H = băm (V_C || V_S || I_C || I_S || K_S || e || f || K) (các phần tử này được mã hóa theo loại của chúng; bên dưới), và chữ ký s trên H bằng khóa máy chủ riêng của nó. S gửi (K_S || f || s) đến C. Thao tác ký có thể liên quan đến hoạt động băm thứ hai .

  3. C xác minh rằng K_S thực sự là khóa máy chủ cho S (ví dụ: sử dụng chứng chỉ hoặc cơ sở dữ liệu cục bộ). C cũng được phép chấp nhận khóa mà không cần xác minh; tuy nhiên, làm như vậy sẽ khiến giao thức không an toàn đối với các cuộc tấn công đang hoạt động (nhưng có thể là mong muốn đối với lý do thực tiễn trong ngắn hạn trong nhiều môi trường). C sau đó tính K = f^x mod p, H = băm (V_C || V_S || I_C || I_S || K_S || e || f || K) và xác minh chữ ký trên H.

cơ sở dữ liệu địa phương nêu tại bước thứ ba trong hệ thống nhất định có thể là .ssh/known_hosts tập tin. Vì vậy, để trả lời câu hỏi của bạn, khóa công khai được gửi đến máy khách bằng máy chủ trong khi trao đổi khóa. định dạng

Chìa khóa và/hoặc Giấy chứng nhận nào sau đây hiện đang được định nghĩa:

ssh, dss dấu YÊU CẦU liệu DSS chính

ssh, rsa KHUYẾN dấu Raw RSA chính

pgp-dấu -rsa OPTIONAL ký giấy chứng nhận OpenPGP (khóa RSA)

pgp-sign-dss TÊN CHỌN Dấu hiệu OpenPGP (khóa DSS)

+0

Để tạo một câu chuyện dài ngắn, tôi không phải tạo khóa này bất cứ lúc nào, nó được thực hiện mặc dù một giao thức được chỉ định bởi liên kết bạn đăng? –

+0

Có Nếu bạn là ứng dụng khách ssh bạn không cần tạo khóa máy chủ – cmidi

6

Tập tin này, có hiệu quả, Certificate Authority cá nhân của bạn. Đây là danh sách tất cả các khóa máy chủ lưu trữ SSH mà bạn đã xác định là chính xác. Mỗi mục nhập trong known_hosts là một dòng lớn với ba hoặc nhiều trường được phân cách bằng khoảng trắng như sau:

a. Một hoặc nhiều tên máy chủ hoặc Địa chỉ IP, được nối với nhau bằng dấu phẩy.

foo.com,107.180.00.00

b. Loại khóa.

ssh-rsa

c. Bản thân dữ liệu khóa công khai được mã hóa để ở trong phạm vi ASCII.

AAAAB3NzaC1yc2EAAAABIwAAAQEAuJfqSnraBz//Ux4j/hZpLv2eYUxNUgCk+9ClqoSgfcu4vXbWtUGSjo75UVQf+uguOeBnRLppJJ3mt0R5c/PPcawUGWfffk33t+biYcqra9xUcyfiGtO/Icko2L1J0EYTXM/8x8VK6UYFMfad2gltnZRa8Am50oHTXot1Df0RljUBxvh/UhmTJUrODpyrl2xY1OMWjM+S6uYCMNeSQGEpNfsWiCIStRnctMZSxiYJOLTSC4F2GF7B8pYFBn5rSwVHp17WCdO+4BZfwvH3HSSH8IWoyFhki+NlG912SEBJXcryvc0JPfAB9DTB4mRImjgrRT8vz5QeaCDrh8k4/A+U1fff

d. Mọi dữ liệu nhận xét tùy chọn.

Ngoài ra !! chủ đề này có thể được sử dụng cho bạn:

https://security.stackexchange.com/a/20710

+2

Nhưng nó lấy chìa khóa công cộng từ đâu? –

Các vấn đề liên quan