The error message is the client telling you that DES isn't a supported  
cipher. That's not an issue with anyone's SSH as you seem to suggest? 
it's the client telling you that a choice that's outside the protocol  
spec can't be accepted.

Thus far the evidence is that you're working backwards from a poorly  
designed client and mistakenly placing the blame on the server. I  
restate this: any client that requires you to specify the cipher is  
broken by design: instead of having the client and server decide  
what's best out of what they support, the decision is instead left to  
the user. You may upgrade each side and have far better choices than  
what might work currently based on settings chosen from previous  
capabilities, but you don't use those choices because upgrading the  
level of crypto used has been left to the user. Furthermore, I believe  
that the list of ciphers it presents isn't a correct enumeration for  
the ssh client on the Mac, which isn't predominated by CBC ciphers. If  
your extrapolation from the difficulty of this mode of operation is  
that the server is broken, you're unfortunately strongly supporting  
the contention that your client has been poorly designed because  
you've been asked to make a choice and given nothing like adequate  
information from the program to understand the consequences. It's bad  
to require manual selection in the first place, and it doesn't say  
anything in favour of the software that it it gives you choices that  
it should know are a protocol/cipher combination explicitly outside of  
the spec (see below for the relevant quote from the RFC, as well as  
quotes from the ssh man pages). I use iTerm to invoke ssh directly,  
which gives the same kind of bookmarking functionality Jellyfissh  
touts without the broken business of trying to manage cipher  
selection. I have a mixed network of various *nix implementations, and  
I've never had the need to tweak cipher settings or seen any problems  
in interoperability, whether for what Sun ships in OpenSolaris or  
anything else. I really don't get why you think it's reasonable to  
argue against this experience that you don't need to think about your  
client as the problem or otherwise have any basis for claiming that  
the OpenSolaris ssh is broken.

Now, if you won't get debug on the negotiation and you're not willing  
to try ssh with the default client shipped with OS X, which I can  
assure you does work without modification, how else do propose to  
solve this problem (complaining about what Sun ships doesn't count)?  
Have you looked for log entries in /var/log or /var/adm to see if sshd  
gives adequate logging even without debug mode?

If you're really in doubt as to whether DES is going to work with  
sshv2, have a look at the RFC, which says that even 3DES is considered  
a legacy cipher for support in sshv2, as the cipher has an effective  
key length of 112 bits, whereas the protocol is specified to require  
at least 128-bit crypto. From RFC4253:

The "3des-cbc" cipher is three-key triple-DES (encrypt-decrypt- 
encrypt), where the first 8 bytes of the key are used for the first  
encryption, the next 8 bytes for the decryption, and the following 8  
bytes for the final encryption.  This requires 24 bytes of key data  
(of which 168 bits are actually used).  To implement CBC mode, outer  
chaining MUST be used (i.e., there is only one initialization  
vector).  This is a block cipher with 8-byte blocks.  This algorithm  
is defined in [FIPS-46-3].  Note that since this algorithm only has an  
effective key length of 112 bits ([SCHNEIER]), it does not meet the  
specifications that SSH encryption algorithms should use keys of 128  
bits or more.  However, this algorithm is still REQUIRED for  
historical reasons; essentially, all known implementations at the time  
of this writing support this algorithm, and it is commonly used  
because it is the fundamental interoperable algorithm.  At some future  
time, it is expected that another algorithm, one with better strength,  
will become so prevalent and ubiquitous that the use of "3des-cbc"  
will be deprecated by another STANDARDS ACTION.

Or you could just take the OS X ssh man pages as sufficiently  
authoritative:

      -c cipher_spec
              Selects the cipher specification for encrypting the  
session.

              Protocol version 1 allows specification of a single  
cipher.  The supported values are ``3des'',
              ``blowfish'', and ``des''.  3des (triple-des) is an  
encrypt-decrypt-encrypt triple with three
              different keys.  It is believed to be secure.  blowfish  
is a fast block cipher; it appears very
              secure and is much faster than 3des.  des is only  
supported in the ssh client for interoper-
              ability with legacy protocol 1 implementations that do  
not support the 3des cipher.  Its use is
              strongly discouraged due to cryptographic weaknesses.   
The default is ``3des''.

              For protocol version 2, cipher_spec is a comma-separated  
list of ciphers listed in order of
              preference.  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.  The default is:

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

As for giving a list with a preponderance of CBC options, the  
OpenSolaris man page for ssh_config makes the following point:

          While CBC modes are not considered as  secure  as  other
          modes  in  connection  with  the SSH protocol 2 they are
          present at the back of the default  client  cipher  list
          for  backward compatibility with SSH servers that do not
          support other cipher modes.

and more to the point in sshd_config:

          Using CBC modes on the server side  is  not  recommended
          due  to potential security issues in connection with the
          SSH protocol version 2.

I wouldn't complain about that.

Am 7 Feb 2010 um 17:59 schrieb Thomas Burgess:

> <a target='_blank' title='ImageShack - Image And Video Hosting'  
> href='http://img215.imageshack.us/i/picture12am.png/'>
> <img src='http://img215.imageshack.us/i/picture12am.png/' border='0'/ 
> ></a>
>
> I assure you it is ssh2 and is set for des.  normally 3des is the  
> default.  none of the other available Ciphers work, when i tried to  
> edit the config file and restart ssh it crashed, went into  
> maintainence mode and refused to start.  Not sure if the Ciphers  
> line has to go at a specific spot in the config or not...but it gave  
> me trouble when i put it at the end.
>
> When i DO connect, it DOESN'T seem to ACTUALLY use des, because i  
> get this error/warning
>
> No valid ciphers for protocol version 2 given, using defaults.
>
>
> This is quite annoying, why does SunSSH ship like this?
>
> I'd really appreciate a valid config which can use any of the follow  
> from this screenshot:
> <a target='_blank' title='ImageShack - Image And Video Hosting'  
> href='http://img5.imageshack.us/i/picture13gg.png/'><img 
> src='http://img5.imageshack.us/img5/3070/picture13gg.png' 
>  border='0'/></a>
>
> On Sun, Feb 7, 2010 at 12:46 PM, Bayard Bell <buffer.g.overflow at 
> googlemail.com 
> > wrote:
> You shouldn't be able to use des at all if you're using v2 of the  
> protocol. Perhaps the problem isn't your choice of ciphers but using  
> ssh v1 or setting ciphers for the wrong version?
>
> Using iTerm allows you to use the native ssh client so that you  
> don't have to fiddle with these settings in an alternate client  
> that's glued in directly with the terminal client. I'd be concerned  
> if it's showing you CBC cipher variants if it's not showing you the  
> non-CBC versions or not warning you to use these only with a server  
> that doesn't give you better choices, and I'd think that a client  
> that's asking you to make these kinds of manual selections is more  
> than a little broken, minimally at the design level. I use iTerm  
> with the native ssh to access OpenSolaris, and I've never had to  
> change the ciphers on either end from defaults.
>
> I believe ssh -vvv <hostname> on the client side will show you more  
> of the crypto negotiation to assist you in debugging, while you can  
> run sshd -ddd to get the server-side debug.
>
> Am 7 Feb 2010 um 16:22 schrieb Thomas Burgess:
>
> I normally use JellyFiSSH as my ssh tool on osx, and with every  
> other os, it has no problems with any of the ssh encryption  
> protocols.  The default is 3des but it has many to chose from  
> (blowfish, 3des-cbc, cast128-cbc, blowfish-cbc, arcfour, aes256-cbc)
>
> OpenSolaris doesn't allow me to use ANY of these, the only ciper i  
> can chose is des, but when i actually connect i get this (error/ 
> warning?)
>
>
> No valid ciphers for protocol version 2 given, using defaults.
>
> how do i fix this?
>
> i looked in the config but it all looks correct
> -- 
> This message posted from opensolaris.org
> _______________________________________________
> opensolaris-discuss mailing list
> opensolaris-discuss at opensolaris.org
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://mail.opensolaris.org/pipermail/security-discuss/attachments/20100207/e72c863d/attachment.html>

Reply via email to