Làm cách nào tôi có thể xác định MAC, Mật mã, Độ dài khóa và KexAlogrithms được hỗ trợ bởi các máy chủ ssh của tôi?
Tôi cần tạo một danh sách cho kiểm toán bảo mật bên ngoài. Tôi đang tìm kiếm một cái gì đó tương tự openssl s_client -connect example.com:443 -showcerts. Từ nghiên cứu của tôi, việc sshsử dụng các mật mã mặc định như được liệt kê trong man sshd_config. Tuy nhiên tôi cần một giải pháp tôi có thể sử dụng trong tập lệnh và . Tôi cần phải tự sửa ở đây: Bạn có thể chỉ định man sshd_configkhông liệt kê thông tin về độ dài khóaServerKeyBitstrong sshd_config.
Tôi đoán rằng ssh -vv localhost &> ssh_connection_specs.outsẽ trả về thông tin tôi cần nhưng tôi không chắc liệu mật mã được liệt kê là mật mã được hỗ trợ bởi máy khách hay bởi máy chủ. Ngoài ra, tôi không chắc chắn làm thế nào để chạy không tương tác này trong một tập lệnh.
Có một cách thuận tiện để có được SSHthông tin kết nối?
ssh -vvxuất các chức năng được hỗ trợ như máy khách đến máy chủ (ctos) và máy chủ cho máy khách (stoc). Tuy nhiên, dường như những đầu ra đó bị giới hạn ở những gì cả hai bên hỗ trợ, khiến chúng ít hữu ích hơn cho kiểm toán bảo mật.
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"như được đề xuất bởi @Jakuje chỉ hoạt động trên các máy chủ RHEL7, nhưng không hoạt động trên RHEL6. Tôi đã kết thúc bằng cách sử dụngnmap --script SSH2-hostkey localhostvànmap --script ssh-hostkey localhost