Take the 2-minute tour ×
Information Security Stack Exchange is a question and answer site for Information security professionals. It's 100% free, no registration required.

When using OpenSSH server (sshd) and client (ssh), what are all of the default / program preferred ciphers, hash, etc. (security related) and their default options (such as key length)?

So, what are the defaults for symmetric key, MAC, key exchange, etc.

share|improve this question
1  
Isn't this covered in the documentation for OpenSSH? "Specifies the ciphers allowed for protocol version 2. Multiple ciphers must be comma-separated. The supported ciphers are ''3des-cbc'', ''aes128-cbc'', ''aes192-cbc'', ''aes256-cbc'', ''aes128-ctr'', ''aes192-ctr'', ''aes256-ctr'', ''arcfour128'', ''arcfour256'', ''arcfour'', ''blowfish-cbc'', and ''cast128-cbc''. " (from sshd_config) –  Mark C. Wallace Dec 19 '12 at 20:49
    
I'm looking for the default (i.e. what gets choosen) for each category of security-related items. not all of the possible choices for each category. See my comment to schroeder's answer below. –  SFun28 Dec 19 '12 at 20:54
    
Updated title - requesting info for SSH v2 only. –  SFun28 Dec 19 '12 at 21:06
add comment

2 Answers

up vote 3 down vote accepted

The default algorithms (that is, the algorithms which the client and server prefer to use when given the choice) depend on the client and server implementations, how they were compiled and configured. So it may depend on the software vendor, software version, operating system distribution, and sysadmin choices.

On an Ubuntu 12.10, man ssh_config indicates that the default order for encryption is:

            aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
            aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
            aes256-cbc,arcfour

while the default order for MAC (integrity) is:

            hmac-md5,hmac-sha1,umac-64@openssh.com,
            hmac-ripemd160,hmac-sha1-96,hmac-md5-96,
            hmac-sha2-256,hmac-sha2-256-96,hmac-sha2-512,
            hmac-sha2-512-96

The key exchange algorithm would follow this order of preference:

            ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,
            diffie-hellman-group-exchange-sha256,
            diffie-hellman-group-exchange-sha1,
            diffie-hellman-group14-sha1,
            diffie-hellman-group1-sha1

Of course, preferences are subject to negotiation. An algorithm will be selected only if both the client and server support it (in particular, ECDH key exchange support is rather recent), and both client and server have their say in it (if they do not have the exact same preferences).

A survey is theoretically doable: connect to random IP address, and, if a SSH server responds, work out its preferred list of ciphers and MAC (by connecting multiple times, restricting the list of choices announced by the client). OpenSSH makes usage surveys but they are not as thorough (they just want the server "banner").

share|improve this answer
add comment

Have you looked at the manual? A quick Ctrl-F for 'default' revealed many of the answers you are looking for:

  • key length: 1024
  • 3DES
  • SSH2
  • ...
share|improve this answer
    
Some of the information is available there, but not all of it. For example, 7 MAC options are listed, but the client chooses. I'm sure that info is in the client man page. I was hoping someone had all that info accessible. And part of this question is to understand what are the different categories of security related options. SSH has multiple sub-protocols. I'm familiar with SSL and while some of the security features in SSH mirror SSL, I don't think they all do. So I'm also trying to avoid reading the entire protocol =) –  SFun28 Dec 19 '12 at 20:47
    
I feel like saying: "it is all accessible in the man pages if you do a ctrl-f". It took me a minute to do the search and with that being the case, I would have no reason to cache that data in my memory. Defaults between programs are bound to be different because the sshd has to accept connections from different kinds of clients. If, on the other hand, you want to know which is the most secure configuration, then your question needs to be changed. –  schroeder Dec 19 '12 at 21:48
    
I'm talking about the OpenSSH client and the OpenSSH server. Does that client have different defaults on different flavors of unix-like systems? Aside from MAC hash, symmetric cipher, asymmetric cipher, what else should I be looking for? –  SFun28 Dec 19 '12 at 22:03
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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