Bagaimana saya bisa menentukan MAC, Ciphers, panjang kunci, dan KexAlogrithms yang didukung oleh server ssh saya?
Saya perlu membuat daftar untuk audit keamanan eksternal. Saya mencari sesuatu yang mirip openssl s_client -connect example.com:443 -showcerts
. Dari penelitian saya, ssh
menggunakan sandi default seperti yang tercantum di man sshd_config
. Namun saya memerlukan solusi yang dapat saya gunakan dalam skrip dan . Aku harus memperbaiki diri di sini: Anda dapat menentukan man sshd_config
tidak mencantumkan informasi tentang panjang kunciServerKeyBits
di sshd_config
.
Saya kira itu ssh -vv localhost &> ssh_connection_specs.out
mengembalikan informasi yang saya butuhkan tetapi saya tidak yakin apakah cipher yang terdaftar adalah cipher yang didukung klien atau oleh server. Saya juga tidak yakin bagaimana menjalankan skrip non-interaktif ini.
Apakah ada cara mudah untuk mendapatkan SSH
informasi koneksi?
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
seperti yang disarankan oleh @ Jakuje hanya bekerja pada host RHEL7, tetapi tidak untuk RHEL6. Saya akhirnya menggunakannmap --script SSH2-hostkey localhost
dannmap --script ssh-hostkey localhost
ssh -vv
mengeluarkan fungsionalitas yang didukung sebagai client to server (ctos) dan server to client (stoc). Namun, tampaknya output tersebut terbatas pada apa yang didukung kedua belah pihak, menjadikannya kurang bermanfaat untuk audit keamanan.Jawaban:
Anda kehilangan beberapa poin dalam pertanyaan Anda:
ServerKeyBits
adalah opsi untuk protokol versi 1, yang diharapkan telah dinonaktifkan!Didukung Cipher, Mac dan KexAlgorithms selalu tersedia di manual dan ini tidak memiliki kesamaan apa pun dengan panjang kunci.
Diaktifkan Chiphers, Mac dan KexAlgorithms adalah orang-orang yang ditawarkan menggunakan koneksi seperti yang Anda tunjukkan. Tetapi mereka dapat diperoleh juga dengan cara lain, misalnya menggunakan
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
Untuk mendapatkan panjang kunci dari kunci server Anda, Anda dapat menggunakan ssh-keygen:
ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
tetapi Anda mungkin ingin juga ukuran moduli yang ditawarkan dan digunakan selama pertukaran kunci, tetapi itu benar-benar tergantung pada metode pertukaran kunci, tetapi itu juga harus dapat dibaca dari hasil debug
ssh -vvv host
.sumber
sshd -T | grep "\(ciphers\|macs\|kexalgorithms\)"
hanya berfungsi host RHEL7 saya, tetapi tidak RHEL6. Saya akhirnya menggunakannmap --script SSH2-hostkey localhost
dannmap --script ssh-hostkey localhost
Sepertinya jawaban di /superuser//a/1219759/173408 juga merupakan jawaban untuk pertanyaan Anda. Cocok dalam satu baris:
Berikut ini adalah output pada mesin Debian 9.4 biasa dengan versi SSH saat ini:
sumber
PORT STATE SERVICE VERSION 22/tcp filtered ssh
dengan perintah ini - meskipun saya bisa masuk ke server yang sama melalui ssh.1.2.3.4
dengan IP server Anda?