When an SSH session is rekeyed due to either the time limit or data limit for rekeying having passed, does the Diffie-Hellman exchange take place within the encrypted channel provided by the existing session, or does it take place "in the open" the way it does when the client first connects to the SSH server?

Looking at the RFC for SSH and having read the output from ssh with the -vvv option during a rekey, I still can't figure out the answer.

For the sake of this question, I'm mainly thinking about openssh in version above 6, if that matters.


1 Answer 1


I think you overlooked some words in section 9:

Key re-exchange is performed using whatever encryption was in effect when the exchange was started. Encryption, compression, and MAC methods are not changed before a new SSH_MSG_NEWKEYS is sent after the key exchange (as in the initial key exchange).

Note that it is better to keep to the naming of the methods within the protocol, i.e. use key re-exchange instead of re-keying. That makes searching and conversation much easier...


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.