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, ....