(15 Feb 2005 at 15:22)
|After a lot of frustration, I have finally gotten my SML SSH daemon talking to OpenSSH and other standard ssh clients. This is no thanks to the protocol documentation ("internet draft"), which is quite ambiguous about a number of important things, and definitely no thanks to the OpenSSH source code, which is pretty crummy--there are far too many different implementations of DES in that thing. On the other hand, the source of putty is very clear and nice and helpful, and putty now even compiles on unix!|
Anyway, here is a transcript of what it does now:
[tom@spacebar unix]$ ssh -p 9999 firstname.lastname@example.org Warning: Server lies about size of server public key: actual size is 513 bits vs. announced 257. Warning: This may be due to an old implementation of ssh. Warning: Server lies about size of server host key: actual size is 1026 bits vs. announced 513. Warning: This may be due to an old implementation of ssh. Warning: Permanently added 'gs82.sp.cs.cmu.edu,188.8.131.52' (RSA1) to the list of known hosts. Warning: Remote host failed or refused to allocate a pseudo tty. Hello welcome to my secure internet server
Killed by signal 2.
I guess the next step is to allocate a pseudo tty, whatever that is. Also, uh, check passwords.
|Wow, that thing is equipped for level III conversation on untitled.gif.|
|Um, why are you doing this?|
|Because OpenSSH sshd is crap and I don't trust it.|
|You should formally prove the correctness of SSH in Coq, then extract an OCaml program from the proof.|
|I think it's more like formally proving that it's incorrect.|