ฉันจะค้นหารายการของ MAC, Ciphers และ KexAlgorithms ที่ไคลเอ็นต์ openssh ของฉันรองรับได้อย่างไร


49

มีวิธีสร้างsshเอาต์พุตอะไร MACs, Ciphers และ KexAlgorithms ที่รองรับ?

ฉันต้องการค้นหาแบบไดนามิกแทนที่จะต้องดูที่แหล่งที่มา


7
นอกจากนี้คุณยังสามารถตรวจสอบเซิร์ฟเวอร์ ssh จากระยะไกลสำหรับ ciphers ที่รองรับด้วยnmapเวอร์ชันล่าสุด:nmap --script ssh2-enum-algos -sV -p <port> <host>
eckes

คำตอบ:


56

หน้าคน OpenSSH ที่เกี่ยวข้อง: https://man.openbsd.org/ssh#Q


ฉันรู้ว่ามันบ้าไปแล้วที่หาไม่เจอ
โคลินดี

8
ดูเหมือนว่าจะพร้อมใช้งานจากรุ่น> = 6.x(หรือไม่สามารถใช้งานได้แน่นอน5.9)
pevik

8
ในรุ่น OpenSSH แบบเก่าวิธีที่น่าเกลียดที่สุดคือ:strings /usr/sbin/sshd |grep mac
Gert van den Berg

4
โดยเฉพาะอย่างยิ่ง-Qเป็นที่รู้จักในรุ่น 6.3
jjlin

19

คุณยังสามารถตรวจสอบเซิร์ฟเวอร์ ssh จากระยะไกลสำหรับ ciphers ที่รองรับด้วย nmap เวอร์ชันล่าสุด:

nmap --script ssh2-enum-algos -sV -p <port> <host>

และมีบริการออนไลน์ที่เรียกว่าsshcheck.comเช่นกัน (และโครงการสแกนเนอร์ที่คล้ายกันจำนวนมากที่ฉันเพิ่งค้นพบ)


1

เคล็ดลับสั้น ๆ ที่ถ้าคุณต้องการเปรียบเทียบ 2 เซิร์ฟเวอร์คุณสามารถใช้วิธีการ @eckes เช่นนี้:

$ sdiff -bW <(nmap --script ssh2-enum-algos -sV -p 22 192.168.1.107) <(nmap --script ssh2-enum-algos -sV -p 22 192.168.1.10)

Starting Nmap 6.47 ( http://nmap.org ) at 2018-01-22 22:35 ES   Starting Nmap 6.47 ( http://nmap.org ) at 2018-01-22 22:35 ES
Nmap scan report for skinner.bubba.net (192.168.1.107)        | Nmap scan report for mulder.bubba.net (192.168.1.10)
Host is up (0.0037s latency).                                 | Host is up (0.0031s latency).
PORT   STATE SERVICE VERSION                                    PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 4.3 (protocol 2.0)               | 22/tcp open  ssh     OpenSSH 5.3 (protocol 2.0)
| ssh2-enum-algos:                                              | ssh2-enum-algos:
|   kex_algorithms: (3)                                       | |   kex_algorithms: (4)
                                                              > |       diffie-hellman-group-exchange-sha256
|       diffie-hellman-group-exchange-sha1                      |       diffie-hellman-group-exchange-sha1
|       diffie-hellman-group14-sha1                             |       diffie-hellman-group14-sha1
|       diffie-hellman-group1-sha1                              |       diffie-hellman-group1-sha1
|   server_host_key_algorithms: (2)                             |   server_host_key_algorithms: (2)
|       ssh-rsa                                                 |       ssh-rsa
|       ssh-dss                                                 |       ssh-dss
|   encryption_algorithms: (13)                                 |   encryption_algorithms: (13)
|       aes128-ctr                                              |       aes128-ctr
|       aes192-ctr                                              |       aes192-ctr
|       aes256-ctr                                              |       aes256-ctr
|       arcfour256                                              |       arcfour256
|       arcfour128                                              |       arcfour128
|       aes128-cbc                                              |       aes128-cbc
|       3des-cbc                                                |       3des-cbc
|       blowfish-cbc                                            |       blowfish-cbc
|       cast128-cbc                                             |       cast128-cbc
|       aes192-cbc                                              |       aes192-cbc
|       aes256-cbc                                              |       aes256-cbc
|       arcfour                                                 |       arcfour
|       rijndael-cbc@lysator.liu.se                             |       rijndael-cbc@lysator.liu.se
|   mac_algorithms: (6)                                       | |   mac_algorithms: (9)
|       hmac-md5                                                |       hmac-md5
|       hmac-sha1                                               |       hmac-sha1
                                                              > |       umac-64@openssh.com
                                                              > |       hmac-sha2-256
                                                              > |       hmac-sha2-512
|       hmac-ripemd160                                          |       hmac-ripemd160
|       hmac-ripemd160@openssh.com                              |       hmac-ripemd160@openssh.com
|       hmac-sha1-96                                            |       hmac-sha1-96
|       hmac-md5-96                                             |       hmac-md5-96
|   compression_algorithms: (2)                                 |   compression_algorithms: (2)
|       none                                                    |       none
|_      zlib@openssh.com                                        |_      zlib@openssh.com

Service detection performed. Please report any incorrect resu   Service detection performed. Please report any incorrect resu
Nmap done: 1 IP address (1 host up) scanned in 0.19 seconds   | Nmap done: 1 IP address (1 host up) scanned in 0.22 seconds

ในข้างต้นฉันแสดงความแตกต่างแบบเคียงข้างกันของเซิร์ฟเวอร์ CentOS 5.x และ 6.x

$ ssh root@192.168.1.107 cat /etc/redhat-release
CentOS release 5.11 (Final)
$ ssh root@192.168.1.10 cat /etc/redhat-release
CentOS release 6.8 (Final)

ผลลัพธ์แสดงให้เห็นว่าคุณมี 4 บรรทัดเพิ่มเติมในเซิร์ฟเวอร์ CentOS 6.x กับ 5.x

อ่านเอาท์พุท

มี 1 kex_algorithm เพิ่มเติม:

  • Diffie-Hellman กลุ่มแลกเปลี่ยน-SHA256

3 mac_algorithms เพิ่มเติม:

  • umac-64@openssh.com
  • HMAC-sha2-256
  • HMAC-sha2-512

0

OpenSSH เวอร์ชันเก่าบางรุ่นไม่รองรับตัวเลือก -Q ดังนั้นจึงใช้ได้กับ ssh ใด ๆ และมีประโยชน์ในการแสดงตัวเลือกไคลเอนต์และเซิร์ฟเวอร์ไม่จำเป็นต้องใช้เครื่องมือของบุคคลที่สามเช่น nmap:

ssh -vvv username@servername

สแกนเอาต์พุตสำหรับ "โลคอลไคลเอนต์ข้อเสนอ KEXINIT" และคุณจะเห็นว่า ciphers และ KEX algos และ MAC รองรับอะไรโดยไคลเอนต์

"เพียร์เซิร์ฟเวอร์ KEXINIT ข้อเสนอ" จะแสดงให้คุณเห็นสิ่งที่เซิร์ฟเวอร์สนับสนุน

...
debug2: local client KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1,ext-info-c
debug2: host key algorithms: ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-rsa-cert-v01@openssh.com,ssh-ed25519,rsa-sha2-512,rsa-sha2-256,ssh-rsa
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com,zlib
debug2: compression stoc: none,zlib@openssh.com,zlib
...
debug2: peer server KEXINIT proposal
debug2: KEX algorithms: curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,diffie-hellman-group14-sha1
debug2: host key algorithms: rsa-sha2-512,rsa-sha2-256,ssh-rsa,ecdsa-sha2-nistp256,ssh-ed25519
debug2: ciphers ctos: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: ciphers stoc: chacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com
debug2: MACs ctos: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: MACs stoc: umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1
debug2: compression ctos: none,zlib@openssh.com
debug2: compression stoc: none,zlib@openssh.com
...
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.