ssh-keyscan for ssh2 (was Re: openssh-2.9p1)

mouring at etoh.eviladmin.org mouring at etoh.eviladmin.org
Sat May 19 05:40:04 EST 2001


Ok.. Then DSA is missing and your function is misnamed.

Remember we have RSA v1, RSA v2, and DSA v2 keys.

But it seems to work nicely.

- Ben

On Fri, 18 May 2001, Wayne Davison wrote:

> On Fri, 18 May 2001 mouring at etoh.eviladmin.org wrote:
> > I'm not seeing RSA protcol 2 keys.
>
> I think the following patch (applied after my first patch) will make
> this work.  I had previously mentioned that my patch wasn't working with
> 2.5.2p2, and this patch fixes this (the returned key is "ssh-rsa").
>
> ..wayne..
>
> ---8<------8<------8<------8<---cut here--->8------>8------>8------>8---
> Index: ssh-keyscan.c
> --- old/ssh-keyscan.c	Fri May 18 12:23:49 2001
> +++ ./ssh-keyscan.c	Fri May 18 12:21:04 2001
> @@ -25,6 +25,7 @@
>  #include "ssh1.h"
>  #include "key.h"
>  #include "kex.h"
> +#include "compat.h"
>  #include "myproposal.h"
>  #include "packet.h"
>  #include "dispatch.h"
> @@ -471,7 +472,7 @@
>  void
>  congreet(int s)
>  {
> -	char buf[80], *cp;
> +	char buf[256], *cp;
>  	size_t bufsiz;
>  	int n = 0;
>  	con *c = &fdcon[s];
> @@ -493,6 +494,12 @@
>  	}
>  	*cp = '\0';
>  	fprintf(stderr, "# %s %s\n", c->c_name, buf);
> +	if (!(c->c_keytypes & 1)) {
> +		char remote_version[sizeof buf];
> +
> +		if (sscanf(buf, "SSH-%*d.%*d-%[^\n]\n", remote_version) == 1)
> +			compat_datafellows(remote_version);
> +	}
>  	n = snprintf(buf, sizeof buf, "SSH-%d.%d-OpenSSH-keyscan\r\n",
>  	    c->c_keytypes & 1 ? PROTOCOL_MAJOR_1 : PROTOCOL_MAJOR_2,
>  	    c->c_keytypes & 1 ? PROTOCOL_MINOR_1 : PROTOCOL_MINOR_2);
> ---8<------8<------8<------8<---cut here--->8------>8------>8------>8---
>
>




More information about the openssh-unix-dev mailing list