I have a Pcap file that contains some SSH encrypted packets. I have the server public and private key. How do I decrypt these private keys? Is it possible to get the session key using Wireshark or some other software?
1 Answer
I'm not sure what you mean by: "How do I decrypt these private keys?". Well, they are not encrypted. Maybe (and I'm not sure if it is even possible), they could be somehow encrypted by a password, but AFAIK they are not. Admin would have to enter the password on every sshd startup which would be annoying.
SSH protocol uses Diffie-Hellman algorithm to exchange an encryption key. The server private key is used just to sign (not encrypt!) the handshake to prove the server authenticity.
So, even if you manage to obtain the server keys, you won't be able to decrypt a recorded session. You would be just able to fake the server identity.
-
It's indeed a good idea to encrypt private keys, so that one needs both the private key and knowledge of the passphrase. As for entering the password repeatdly, nope, ssh-agent deals exactly with that. Commented Jan 25, 2023 at 14:46