tạo mục nhập máy chủ đã biết


2

Tôi muốn tạo một mục được biết_host nhưng vì một số lý do bảo mật (quyền) không thể thêm trực tiếp khi được nhắc thêm.

Bạn có chắc chắn muốn tiếp tục kết nối (có / không) - & gt; không thể nói có

Tự hỏi nếu có một cách để tạo ra mục (in trên dòng lệnh), vì vậy tôi có thể đặt nó theo cách thủ công trong tệp know_hosts. Tôi có dấu vân tay RSA.

Để diễn giải câu hỏi tôi có thể chỉ định tệp mục nhập know_host của riêng tôi để tạo mục nhập trên không?

Chỉ cần fyi: - Tôi cũng có quyền truy cập vào lệnh ssh-keygen, ssh-keyscan và những người khác không có sẵn. Hãy bình luận nếu thông tin trên không đủ và tôi có thể trả lời


Bạn đã thử khắc phục vấn đề quyền chưa? 'Ls-l ~ / .ssh' nói gì?
stinkymatt

Tại sao bạn không thể nói Có? Hay đúng hơn, tại sao bạn nghĩ rằng bạn không thể?
ghoti

Câu trả lời:


4

Bạn có thể dùng -o chuyển sang lệnh ssh của bạn để chỉ định thủ công tệp máy chủ thay thế:

$ ssh -o UserKnownHostsFile=~/known_hosts.txt myserver

Điều đó sẽ đưa nội dung vào known_hosts.txt trong thư mục nhà của bạn, hoặc bạn có thể thay đổi nó thành bất cứ nơi nào bạn nên có quyền ghi.


2

Nếu bạn sử dụng điều này:

ssh -o StrictHostKeyChecking=no server.example.net

bạn có thể tránh câu hỏi hoàn toàn, nhưng THƯỞNG , bằng cách này, bạn sẽ tránh được một kiểm tra quan trọng mà SSH sử dụng để xác minh danh tính của máy chủ từ xa. Bạn đã đề cập rằng bạn có dấu vân tay RSA. Kiểm tra nó, khi sử dụng tùy chọn này.

Bạn đã hỏi làm thế nào bạn có thể "tạo" mục mà bạn thêm vào tệp know_hosts của mình. Tôi sẽ cho rằng bạn đang sử dụng OpenSSH.

Trên mỗi máy chủ bạn đang kết nối, bạn sẽ cần tìm ra nơi các khóa SSH của máy chủ từ xa sống. Trong Linux và FreeBSD, mọi thứ nên có /etc/ssh/. Trong OSX, cấu hình SSH bao gồm các khóa đều ổn /etc/. Nếu bạn không chắc chắn, bạn có thể tìm thấy các phím bằng:

find /etc/ -name ssh_host\*.pub -print

Rất có thể, bạn sẽ có kết quả như thế này:

/etc/ssh/ssh_host_dsa_key.pub
/etc/ssh/ssh_host_rsa_key.pub

Nội dung của các tệp này trên các máy chủ từ xa có thể được thêm nguyên văn vào tệp know_hosts được sử dụng bởi máy khách ssh của bạn. Và rõ ràng, nếu bạn thường chỉ sử dụng một loại khóa, có lẽ bạn không cần nội dung của cả hai tệp.

Câu hỏi khác mà bạn đã hỏi là liệu có thể chỉ định một tệp đã biết thay thế hay không. Câu trả lời khác cho câu hỏi này cung cấp cho bạn hướng dẫn cho điều đó.

Lưu ý rằng bạn cũng có thể chỉ định một tệp đã biết thay thế bằng cách sử dụng một mục trong ~/.ssh/config tập tin. Ví dụ:

host cloudhost*
    UserKnownHostsFile ~/.ssh/known_hosts_cloud

Điều này có thể phù hợp với bạn nếu bạn thu thập tất cả các khóa máy chủ của mình vào tệp đã đặt tên và có các tên máy chủ như cloudhost1, cloudhost2, ....


Không đề nghị ai sử dụng StrictHostKeyChecking mà không giải thích hậu quả an ninh.
Martin Prikryl

@MartinPrikryl ... Tốt hơn? :)
ghoti
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.