I have just uploaded a new snapshot to: http://www.mindrot.org/misc/openssh/openssh-SNAP-20001114.tar.gz This snapshot includes Markus Friedl's new SSH2 RSA authentication work and -R portforwarding for SSH2. Please give these a good test. The new RSA authentications works similar to the current SSH2 DSA keys, but requires a little modification to config files. Currently RSA key cannot be shared between SSH1 and SSH2. To generate keys, ssh-keygen now has a type '-t' parameter. Valid types are 'rsa1' (for SSH1 RSA keys), 'rsa' (SSH2 RSA) and 'dsa' (SSH2 DSA). eg. "ssh-keygen -t rsa -f ~/.ssh/id_rsa" will generate a new SSH2 RSA key. For public key authentication, just copy the public portion of the RSA key into your ~/.ssh/authorized_keys2 file. It is normal for the public RSA keys to be shorter than DSA keys. SSH2 RSA keys are fully supported by ssh-agent. Keys are tried in the order in which they are added to the agent, so 'ssh-add' your RSA key first if you want to try it out. For the server, all hostkeys are now unified and sshd will automatically detect the type of a host key. The 'HostDSAKey' option is therefore deprecated in favor of 'HostKey'. To specify RSA and DSA keys for SSH2 use, just use more 'HostKey' options. The 'DSAAuthentication' option is deprecated in favour of the general 'PubkeyAuthentication' option. The host key section of my sshd_config looks like this: HostKey /etc/ssh/ssh_host_key HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_dsa_key For the client, the 'IdentityFile2' option is deprecated in favor of an autodetecting 'IdentityFile' option. You can specity rsa1, dsa and rsa keys using this option. RSA pubkey auth seems a little quicker than DSA and it is not vulnerable to the problems described in the WARNING.RNG file. Full changelog: 20001113 - (djm) Add pointer to http://www.imasy.or.jp/~gotoh/connect.c to contrib/README - (djm) Merge OpenBSD changes: - markus at cvs.openbsd.org 2000/11/06 16:04:56 [channels.c channels.h clientloop.c nchan.c serverloop.c] [session.c ssh.c] agent forwarding and -R for ssh2, based on work from jhuuskon at messi.uku.fi - markus at cvs.openbsd.org 2000/11/06 16:13:27 [ssh.c sshconnect.c sshd.c] do not disabled rhosts(rsa) if server port > 1024; from pekkas at netcore.fi - markus at cvs.openbsd.org 2000/11/06 16:16:35 [sshconnect.c] downgrade client to 1.3 if server is 1.4; help from mdb at juniper.net - markus at cvs.openbsd.org 2000/11/09 18:04:40 [auth1.c] typo; from mouring at pconline.com - markus at cvs.openbsd.org 2000/11/12 12:03:28 [ssh-agent.c] off-by-one when removing a key from the agent - markus at cvs.openbsd.org 2000/11/12 12:50:39 [auth-rh-rsa.c auth2.c authfd.c authfd.h] [authfile.c hostfile.c kex.c kex.h key.c key.h myproposal.h] [readconf.c readconf.h rsa.c rsa.h servconf.c servconf.h ssh-add.c] [ssh-agent.c ssh-keygen.1 ssh-keygen.c ssh.1 ssh.c ssh_config] [sshconnect1.c sshconnect2.c sshd.8 sshd.c sshd_config ssh-dss.c] [ssh-dss.h ssh-rsa.c ssh-rsa.h dsa.c dsa.h] add support for RSA to SSH2. please test. there are now 3 types of keys: RSA1 is used by ssh-1 only, RSA and DSA are used by SSH2. you can use 'ssh-keygen -t rsa -f ssh2_rsa_file' to generate RSA keys for SSH2 and use the RSA keys for hostkeys or for user keys. SSH2 RSA or DSA keys are added to .ssh/authorised_keys2 as before. - (djm) Fix up Makefile and Redhat init script to create RSA host keys - (djm) Change to interim version - (djm) Fix RPM spec file stupidity - (djm) fixpaths to DSA and RSA keys too 20001112 - (bal) SCO Patch to add needed libraries for configure.in. Patch by Phillips Porch <root at theporch.com> - (bal) IRIX patch to adding Job Limits. Patch by Denis Parker <dcp at sgi.com> - (stevesk) pty.c: HP-UX 10 and 11 don't define TIOCSCTTY. Add error() to failed ioctl(TIOCSCTTY) call. 20001111 - (djm) Added /etc/primes for kex DH group neg, fixup Makefile.in and packaging files - (djm) Fix new Makefile.in warnings - (djm) Fix vsprintf("%h") in bsd-snprintf.c, short int va_args are promoted to type int. Report and fix from Dan Astoorian <djast at cs.toronto.edu> - (djm) Hardwire sysconfdir in RPM spec files as some RPM versions get it wrong. Report from Bennett Todd <bet at rahul.net> 20001110 - (bal) Fixed dropped answer from skey_keyinfo() in auth1.c - (bal) Changed from --with-skey to --with-skey=PATH in configure.in - (bal) Added in check to verify S/Key library is being detected in configure.in - (bal) next-posix.h - added another prototype wrapped in POSIX ifdef/endif. Patch by Mark Miller <markm at swoon.net> - (bal) Added 'util.h' header to loginrec.c only if HAVE_UTIL_H is defined to remove warnings under MacOS X. Patch by Mark Miller <markm at swoon.net> - (bal) Fixed LDFLAG mispelling in configure.in for --with-afs 20001107 - (bal) acconfig.in - removed the double "USE_PIPES" entry. Patch by Mark Miller <markm at swoon.net> - (bal) sshd.init files corrected to assign $? to RETVAL. Patch by Jarno Huuskonen <jhuuskon at messi.uku.fi> - (bal) fixpaths fixed to stop it from quitely failing. Patch by Mark D. Roth <roth at feep.net> 20001106 - (bal) typo in configure.in in regards to --with-ldflags from Marko Asplund <aspa at kronodoc.fi> - (bal) fixed next-posix.h. Forgot prototype of getppid(). -- | ``We've all heard that a million monkeys banging on | Damien Miller - | a million typewriters will eventually reproduce the | <djm at mindrot.org> | works of Shakespeare. Now, thanks to the Internet, / | we know this is not true.'' - Robert Wilensky UCB / http://www.mindrot.org
Yo Damien! First pass looks good on Slackware 7.0: OpenSSH configured has been configured with the following options. User binaries: /usr/local/bin User binaries: /usr/local/bin System binaries: /usr/local/sbin Configuration files: /usr/local/etc Askpass program: /usr/local/libexec/ssh-askpass Manual pages: /usr/local/man/manX PID file: /var/run Random number collection: Device (/dev/urandom) Manpage format: man PAM support: no KerberosIV support: no AFS support: no S/KEY support: no TCP Wrappers support: yes MD5 password support: yes IP address in $DISPLAY hack: no Use IPv4 by default hack: no Translate v4 in v6 hack: yes Host: i686-pc-linux-gnu Compiler: gcc Compiler flags: -g -O2 -Wall -I. -I. -I/usr/local/ssl/include Linker flags: -L/usr/local/ssl/lib -L/usr/local/ssl Libraries: -lnsl -lz -lutil -lcrypto -lwrap RGDS GARY --------------------------------------------------------------------------- Gary E. Miller Rellim 20340 Empire Ave, Suite E-3, Bend, OR 97701 gem at rellim.com Tel:+1(541)382-8588 Fax: +1(541)382-8676 On Tue, 14 Nov 2000, Damien Miller wrote:> I have just uploaded a new snapshot to: > > http://www.mindrot.org/misc/openssh/openssh-SNAP-20001114.tar.gz > > This snapshot includes Markus Friedl's new SSH2 RSA authentication work > and -R portforwarding for SSH2. Please give these a good test.
Yo Damien! The new snap compiles OK on Unixware 7.1.0. Protocol 1 inbound and outbound seems OK. Protocol 2 outbound is OK, but protocol 2 inbound is still broken. Debug output like the last time I reported this. OpenSSH configured has been configured with the following options. User binaries: /usr/local/bin User binaries: /usr/local/bin System binaries: /usr/local/sbin Configuration files: /usr/local/etc Askpass program: /usr/local/libexec/ssh-askpass Manual pages: /usr/local/man/catX PID file: /usr/local/etc Random number collection: Builtin (timeout 200) Manpage format: cat PAM support: no KerberosIV support: no AFS support: no S/KEY support: no TCP Wrappers support: no MD5 password support: no IP address in $DISPLAY hack: no Use IPv4 by default hack: no Translate v4 in v6 hack: no Host: i586-sco-sysv5uw7.1.0 Compiler: cc Compiler flags: -g -I. -I. -I/usr/local/include -I/usr/local/ssl/include Linker flags: -L/usr/local/lib -L/usr/local/ssl/lib -L/usr/local/ssl Libraries: -lsocket -lnsl -lz -lgen -lsocket -lcrypto I got these warnings on sshconnect2.c, none look important but should be fixed: UX:acomp: WARNING: "sshconnect2.c", line 521: argument is incompatible with prototype: arg #1 Is is packet_get_string(int) or packet_get_string(unsigned in)? UX:acomp: WARNING: "sshconnect2.c", line 655: argument is incompatible with prototype: arg #3 Is it: int key_to_blob(Key *key, unsigned char **blobp, unsigned int *lenp); or int key_to_blob(Key *key, unsigned char **blobp, int *lenp);? UX:acomp: WARNING: "sshconnect2.c", line 662: argument is incompatible with prototype: arg #2 Is it: void buffer_append(Buffer * buffer, const char *data, unsigned int len); or void buffer_append(Buffer * buffer, unsigned char *data, unsigned int len); UX:acomp: WARNING: "sshconnect2.c", line 680: argument is incompatible with prototype: arg #5 Is it: typedef int sign_cb_fn( Authctxt *authctxt, Key *key, unsigned char **sigp, int *lenp, unsigned char *data, int datalen); or: typedef int sign_cb_fn( Authctxt *authctxt, Key *key, unsigned char **sigp, int *lenp, char *data, int datalen); UX:acomp: WARNING: "sshconnect2.c", line 691: argument is incompatible with prototype: arg #2 buffer_append(0 again.... Other files had some warnings if you want to see them too just ask... RGDS GARY --------------------------------------------------------------------------- Gary E. Miller Rellim 20340 Empire Ave, Suite E-3, Bend, OR 97701 gem at rellim.com Tel:+1(541)382-8588 Fax: +1(541)382-8676 On Tue, 14 Nov 2000, Damien Miller wrote:> I have just uploaded a new snapshot to: > > http://www.mindrot.org/misc/openssh/openssh-SNAP-20001114.tar.gz > > This snapshot includes Markus Friedl's new SSH2 RSA authentication work > and -R portforwarding for SSH2. Please give these a good test.
Hey all, the latest snapshot configures, compiles, and runs fine on the x86 SuSE 6.3, 6.4, and 7.0 test machines (all OpenSSL-0.9.6). Host: i686-pc-linux-gnu Compiler: gcc Compiler flags: -g -O2 -Wall -I. -I. -I/usr/local/ssl/include Linker flags: -L/usr/local/ssl/lib -L/usr/local/ssl Libraries: -ldl -lnsl -lz -lutil -lpam -lcrypto -lwrap dtc --- Daniel T. Chen | chenda at cs.unc.edu On Tue, 14 Nov 2000, Damien Miller wrote:> I have just uploaded a new snapshot to: > > http://www.mindrot.org/misc/openssh/openssh-SNAP-20001114.tar.gz > > This snapshot includes Markus Friedl's new SSH2 RSA authentication work > and -R portforwarding for SSH2. Please give these a good test. > > The new RSA authentications works similar to the current SSH2 DSA keys, > but requires a little modification to config files. Currently RSA > key cannot be shared between SSH1 and SSH2. > > To generate keys, ssh-keygen now has a type '-t' parameter. Valid types > are 'rsa1' (for SSH1 RSA keys), 'rsa' (SSH2 RSA) and 'dsa' (SSH2 DSA). > > eg. "ssh-keygen -t rsa -f ~/.ssh/id_rsa" will generate a new SSH2 RSA key. > > For public key authentication, just copy the public portion of the RSA > key into your ~/.ssh/authorized_keys2 file. It is normal for the public > RSA keys to be shorter than DSA keys. > > SSH2 RSA keys are fully supported by ssh-agent. Keys are tried in the order > in which they are added to the agent, so 'ssh-add' your RSA key first if > you want to try it out. > > For the server, all hostkeys are now unified and sshd will automatically > detect the type of a host key. The 'HostDSAKey' option is therefore > deprecated in favor of 'HostKey'. To specify RSA and DSA keys for SSH2 use, > just use more 'HostKey' options. The 'DSAAuthentication' option is > deprecated in favour of the general 'PubkeyAuthentication' option. > > The host key section of my sshd_config looks like this: > > HostKey /etc/ssh/ssh_host_key > HostKey /etc/ssh/ssh_host_rsa_key > HostKey /etc/ssh/ssh_host_dsa_key > > For the client, the 'IdentityFile2' option is deprecated in favor of an > autodetecting 'IdentityFile' option. You can specity rsa1, dsa and rsa keys > using this option. > > RSA pubkey auth seems a little quicker than DSA and it is not vulnerable to > the problems described in the WARNING.RNG file. > > Full changelog: > > 20001113 > - (djm) Add pointer to http://www.imasy.or.jp/~gotoh/connect.c to > contrib/README > - (djm) Merge OpenBSD changes: > - markus at cvs.openbsd.org 2000/11/06 16:04:56 > [channels.c channels.h clientloop.c nchan.c serverloop.c] > [session.c ssh.c] > agent forwarding and -R for ssh2, based on work from > jhuuskon at messi.uku.fi > - markus at cvs.openbsd.org 2000/11/06 16:13:27 > [ssh.c sshconnect.c sshd.c] > do not disabled rhosts(rsa) if server port > 1024; from > pekkas at netcore.fi > - markus at cvs.openbsd.org 2000/11/06 16:16:35 > [sshconnect.c] > downgrade client to 1.3 if server is 1.4; help from mdb at juniper.net > - markus at cvs.openbsd.org 2000/11/09 18:04:40 > [auth1.c] > typo; from mouring at pconline.com > - markus at cvs.openbsd.org 2000/11/12 12:03:28 > [ssh-agent.c] > off-by-one when removing a key from the agent > - markus at cvs.openbsd.org 2000/11/12 12:50:39 > [auth-rh-rsa.c auth2.c authfd.c authfd.h] > [authfile.c hostfile.c kex.c kex.h key.c key.h myproposal.h] > [readconf.c readconf.h rsa.c rsa.h servconf.c servconf.h ssh-add.c] > [ssh-agent.c ssh-keygen.1 ssh-keygen.c ssh.1 ssh.c ssh_config] > [sshconnect1.c sshconnect2.c sshd.8 sshd.c sshd_config ssh-dss.c] > [ssh-dss.h ssh-rsa.c ssh-rsa.h dsa.c dsa.h] > add support for RSA to SSH2. please test. > there are now 3 types of keys: RSA1 is used by ssh-1 only, > RSA and DSA are used by SSH2. > you can use 'ssh-keygen -t rsa -f ssh2_rsa_file' to generate RSA > keys for SSH2 and use the RSA keys for hostkeys or for user keys. > SSH2 RSA or DSA keys are added to .ssh/authorised_keys2 as before. > - (djm) Fix up Makefile and Redhat init script to create RSA host keys > - (djm) Change to interim version > - (djm) Fix RPM spec file stupidity > - (djm) fixpaths to DSA and RSA keys too > > 20001112 > - (bal) SCO Patch to add needed libraries for configure.in. Patch by > Phillips Porch <root at theporch.com> > - (bal) IRIX patch to adding Job Limits. Patch by Denis Parker > <dcp at sgi.com> > - (stevesk) pty.c: HP-UX 10 and 11 don't define TIOCSCTTY. Add error() to > failed ioctl(TIOCSCTTY) call. > > 20001111 > - (djm) Added /etc/primes for kex DH group neg, fixup Makefile.in and > packaging files > - (djm) Fix new Makefile.in warnings > - (djm) Fix vsprintf("%h") in bsd-snprintf.c, short int va_args are > promoted to type int. Report and fix from Dan Astoorian > <djast at cs.toronto.edu> > - (djm) Hardwire sysconfdir in RPM spec files as some RPM versions get > it wrong. Report from Bennett Todd <bet at rahul.net> > > 20001110 > - (bal) Fixed dropped answer from skey_keyinfo() in auth1.c > - (bal) Changed from --with-skey to --with-skey=PATH in configure.in > - (bal) Added in check to verify S/Key library is being detected in > configure.in > - (bal) next-posix.h - added another prototype wrapped in POSIX ifdef/endif. > Patch by Mark Miller <markm at swoon.net> > - (bal) Added 'util.h' header to loginrec.c only if HAVE_UTIL_H is defined > to remove warnings under MacOS X. Patch by Mark Miller <markm at swoon.net> > - (bal) Fixed LDFLAG mispelling in configure.in for --with-afs > > 20001107 > - (bal) acconfig.in - removed the double "USE_PIPES" entry. Patch by > Mark Miller <markm at swoon.net> > - (bal) sshd.init files corrected to assign $? to RETVAL. Patch by > Jarno Huuskonen <jhuuskon at messi.uku.fi> > - (bal) fixpaths fixed to stop it from quitely failing. Patch by > Mark D. Roth <roth at feep.net> > > 20001106 > - (bal) typo in configure.in in regards to --with-ldflags from Marko > Asplund <aspa at kronodoc.fi> > - (bal) fixed next-posix.h. Forgot prototype of getppid(). > > > >
Host: i686-pc-linux-gnu Compiler: gcc Compiler flags: -g -O2 -Wall -I. -I. -I/opt/openssl/include Linker flags: -L/opt/openssl/lib -L/opt/openssl Libraries: -ldl -lnsl -lz -lutil -lpam -lcrypto Compiles and works w/ both S/Key and standard on Redhat 7.0 (kgcc-1.1.2, not the nasty gcc-2.96). NeXT stuff will be tested in a day or so. - Ben
On Tue, 14 Nov 2000, Damien Miller wrote:> I have just uploaded a new snapshot to: > > http://www.mindrot.org/misc/openssh/openssh-SNAP-20001114.tar.gz >[snip]> >UnixWare 2.03, UnixWare 2.13, & SCO 5.0.4 get errors like ... /usr/local/etc\" -DSSH_PROGRAM=\"/usr/local/bin/ssh\" -DSSH_ASKPASS_DEFAULT=\"/u sr/local/libexec/ssh-askpass\" -DHAVE_CONFIG_H -c ../openssh/bsd-arc4random.c UX:acomp: ERROR: "../openssh/defines.h", line 174: #error: "64 bit int type not found." gmake: *** [bsd-arc4random.o] Error 1 ... SCO 3.2v4.2 gets the following error ... gcc -g -O2 -Wall -I. -Isrc -Dftruncate=chsize -I/usr/local/include -I/usr/local/ ssl/include -DETCDIR=\"/usr/local/etc\" -DSSH_PROGRAM=\"/usr/local/bin/ssh\" -DS SH_ASKPASS_DEFAULT=\"/usr/local/libexec/ssh-askpass\" -DHAVE_CONFIG_H -c src/b sd-realpath.c -o bsd-realpath.o src/bsd-realpath.c: In function `realpath': src/bsd-realpath.c:108: `MAXSYMLINKS' undeclared (first use this function) src/bsd-realpath.c:108: (Each undeclared identifier is reported only once src/bsd-realpath.c:108: for each function it appears in.) gmake: *** [bsd-realpath.o] Error 1 ... -- Tim Rice Multitalents (707) 887-1469 tim at multitalents.net
The IRIX job limits patch will only build on IRIX >= 6.5.7. I hacked up configure to do the checking, but I'm not sure of the configure.in syntax. Does this look legal? *-*-irix6*) CFLAGS="$CFLAGS -I/usr/local/include" LDFLAGS="$LDFLAGS" PATH="$PATH:/usr/etc" MANTYPE='$(CATMAN)' AC_DEFINE(WITH_IRIX_ARRAY) AC_DEFINE(WITH_IRIX_PROJECT) AC_DEFINE(WITH_IRIX_AUDIT) IFS=.fm set `uname -r` if test $2 -ge 5 ; then set `uname -R` if test $3 -gt 5 -o $4 -gt 7 ; then AC_DEFINE(WITH_IRIX_JOBS) fi fi unset IFS no_libsocket=1 no_libnsl=1 AC_DEFINE(BROKEN_INET_NTOA) ;; I've also been meaning to send a patch to move the satsetid call to session.c. Attached. -- Mike Stone -------------- next part -------------- --- uidswap.c.orig Tue Nov 14 09:38:44 2000 +++ uidswap.c Tue Nov 14 09:42:53 2000 @@ -16,9 +16,6 @@ #include "ssh.h" #include "uidswap.h" -#ifdef WITH_IRIX_AUDIT -#include <sat.h> -#endif /* WITH_IRIX_AUDIT */ /* * Note: all these functions must work in all of the following cases: @@ -91,14 +88,6 @@ void permanently_set_uid(uid_t uid) { -#ifdef WITH_IRIX_AUDIT - if (sysconf(_SC_AUDIT)) { - debug("Setting sat id to %d", (int) uid); - if (satsetid(uid)) - debug("error setting satid: %.100s", strerror(errno)); - } -#endif /* WITH_IRIX_AUDIT */ - if (setuid(uid) < 0) debug("setuid %u: %.100s", (u_int) uid, strerror(errno)); } --- session.c.orig Tue Nov 14 09:38:20 2000 +++ session.c Tue Nov 14 09:43:15 2000 @@ -57,7 +57,10 @@ #endif /* WITH_IRIX_PROJECT */ #ifdef WITH_IRIX_JOBS #include <sys/resource.h> -#endif +#endif +#ifdef WITH_IRIX_AUDIT +#include <sat.h> +#endif /* WITH_IRIX_AUDIT */ #if defined(HAVE_USERSEC_H) #include <usersec.h> @@ -1104,7 +1107,6 @@ strerror(errno)); } # endif /* WITH_IRIX_JOBS */ - # ifdef WITH_IRIX_ARRAY /* initialize array session */ if (jid == 0) { @@ -1123,6 +1125,14 @@ fatal("Failed to initialize project %d for %s: %.100s", (int)projid, pw->pw_name, strerror(errno)); # endif /* WITH_IRIX_PROJECT */ +#ifdef WITH_IRIX_AUDIT + if (sysconf(_SC_AUDIT)) { + debug("Setting sat id to %d", (int) uid); + if (satsetid(uid)) + debug("error setting satid: %.100s", strerror(errno)); + } +#endif /* WITH_IRIX_AUDIT */ + /* Permanently switch to the desired uid. */ permanently_set_uid(pw->pw_uid); # endif /* HAVE_LOGIN_CAP */
Hi! Host: hppa2.0-hp-hpux10.20 Compiler: cc Compiler flags: -O -I. -I. -Ae -D_HPUX_SOURCE +DAportable -I/usr/local/include -I/usr/local/ssl/include Linker flags: -L/usr/local/lib -L/usr/local/ssl/lib -L/usr/local/ssl Libraries: -lz -lsec -lcrypto -lwrap compiles fine and passes some short tests. I didn't toucht the new features. Best regards, Lutz -- Lutz Jaenicke Lutz.Jaenicke at aet.TU-Cottbus.DE BTU Cottbus http://www.aet.TU-Cottbus.DE/personen/jaenicke/ Lehrstuhl Allgemeine Elektrotechnik Tel. +49 355 69-4129 Universitaetsplatz 3-4, D-03044 Cottbus Fax. +49 355 69-4153
Hi, On Tue, Nov 14, 2000 at 12:15:04PM +1100, Damien Miller wrote:> The new RSA authentications works similar to the current SSH2 DSA keys, > but requires a little modification to config files. Currently RSA > key cannot be shared between SSH1 and SSH2.Maybe I'm just a bit slow, maybe I just don't understand enough crypto stuff. What is this good for? We now have *three* different sorts of host keys. It most certainly confuses me, and I've worked with SSH for a long time now, so I'm sure it will confuse the hell out of "ordinary users". I can somewhat understand the RSA/DSA issue (RSA patent?) but having a third key, RSA again but incompatible to ssh1 makes this really confusing. Now if someone would stand up and say "oh, it's very easy, 2.4.0 will drop DSA keys (except for compatibility to ssh.com) and RSA 1 will be the same as RSA 2", I will be the first to shout "hooray!"... :-) gert -- USENET is *not* the non-clickable part of WWW! //www.muc.de/~gert/ Gert Doering - Munich, Germany gert at greenie.muc.de fax: +49-89-35655025 gert.doering at physik.tu-muenchen.de
On Tue, 14 Nov 2000, Damien Miller wrote: Host: i386-redhat-linux-gnu Compiler: gcc Compiler flags: -O2 -m486 -fno-strength-reduce -Wall -I. -I. -I/usr/include Linker flags: -L/usr/lib -L/usr Libraries: -ldl -lnsl -lz -lutil -lpam -lcrypto -lwrap Seems to work on both RHL 6.2 and 7.0.. which was to be expected. Having to add HostKey's for both new keys or ssh2 gets disabled is rather irritating, but I guess it can't be avoided.. unless sshd would just try the defaults even though not specifically asked to (as with ssh_host_dsa_key, before) Apparently, defining extra HostKey's with previous versions is not harmful. Also, if such files are missing, that isn't even reported anywhere (well, probably in verbose mode..). In this snapshot there is an error "Could not load host key [...]" printed on screen, but I don't get it syslogged(?). Weird. A few compile warnings I came across -- don't look too harmful: --- bsd-bindresvport.c: In function `bindresvport_af': bsd-bindresvport.c:59: warning: `error' might be used uninitialized in this function auth-pam.c: In function `pamconv': auth-pam.c:105: warning: passing arg 1 of `read_passphrase' discards `const' from pointer target type pty.c: In function `pty_allocate': pty.c:55: warning: implicit declaration of function `openpty' session.c: In function `do_authenticated': session.c:217: warning: `type' might be used uninitialized in this function session.c:260: warning: `success' might be used uninitialized in this function --- -- Pekka Savola "Tell me of difficulties surmounted, Pekka.Savola at netcore.fi not those you stumble over and fall"
Wrong patch for moving WITH_IRIX_AUDIT to session.c. This one should work. -- Mike Stone -------------- next part -------------- --- uidswap.c.orig Tue Nov 14 09:38:44 2000 +++ uidswap.c Tue Nov 14 09:42:53 2000 @@ -16,9 +16,6 @@ #include "ssh.h" #include "uidswap.h" -#ifdef WITH_IRIX_AUDIT -#include <sat.h> -#endif /* WITH_IRIX_AUDIT */ /* * Note: all these functions must work in all of the following cases: @@ -91,14 +88,6 @@ void permanently_set_uid(uid_t uid) { -#ifdef WITH_IRIX_AUDIT - if (sysconf(_SC_AUDIT)) { - debug("Setting sat id to %d", (int) uid); - if (satsetid(uid)) - debug("error setting satid: %.100s", strerror(errno)); - } -#endif /* WITH_IRIX_AUDIT */ - if (setuid(uid) < 0) debug("setuid %u: %.100s", (u_int) uid, strerror(errno)); } --- session.c.orig Tue Nov 14 09:38:20 2000 +++ session.c Tue Nov 14 09:43:15 2000 @@ -57,7 +57,10 @@ #endif /* WITH_IRIX_PROJECT */ #ifdef WITH_IRIX_JOBS #include <sys/resource.h> -#endif +#endif +#ifdef WITH_IRIX_AUDIT +#include <sat.h> +#endif /* WITH_IRIX_AUDIT */ #if defined(HAVE_USERSEC_H) #include <usersec.h> @@ -1104,7 +1107,6 @@ strerror(errno)); } # endif /* WITH_IRIX_JOBS */ - # ifdef WITH_IRIX_ARRAY /* initialize array session */ if (jid == 0) { @@ -1123,6 +1125,14 @@ fatal("Failed to initialize project %d for %s: %.100s", (int)projid, pw->pw_name, strerror(errno)); # endif /* WITH_IRIX_PROJECT */ +#ifdef WITH_IRIX_AUDIT + if (sysconf(_SC_AUDIT)) { + debug("Setting sat id to %d", (int) pw->pw_uid); + if (satsetid(pw->pw_uid)) + debug("error setting satid: %.100s", strerror(errno)); + } +#endif /* WITH_IRIX_AUDIT */ + /* Permanently switch to the desired uid. */ permanently_set_uid(pw->pw_uid); # endif /* HAVE_LOGIN_CAP */
On Tue, Nov 14, 2000 at 09:49:41PM +0100, Gert Doering wrote:> I can somewhat understand the RSA/DSA issue (RSA patent?) but having a > third key, RSA again but incompatible to ssh1 makes this really confusing.RSA keys are used for different operations in SSH1 vs. SSH2 (encrypt vs. sign) and you should _not_ use the same key for both operations. -m
Damien Miller wrote:> I have just uploaded a new snapshot to: > > http://www.mindrot.org/misc/openssh/openssh-SNAP-20001114.tar.gz > > This snapshot includes Markus Friedl's new SSH2 RSA authentication work > and -R portforwarding for SSH2. Please give these a good test.Host: i686-pc-cygwin Compiler: gcc Compiler flags: -g -O2 -Wall -I. -I. -I/usr/include Linker flags: -L/usr/lib -L/usr Libraries: -lz -lregex /usr/lib/textmode.o -lcrypto Works OOTB. SSH2 RSA works. I have a problem with sftp-server (this isn't related to the current snapshot but to 2.3.0p1 as well). As long as the user doesn't call `cd' on the sftp commandline for the first time, a call to `pwd' returns an error "PWD failed". After `cd' is called, that problem disappears. I have tracked that down to the point that in sftp-server.c, function process_realpath() the line path = get_string(NULL); returns an empty string as long as no `cd' is called. This results in an error in the following call to realpath(). I'm not sure how to solve that problem except for a hack like `if (!*path) path = ".";' but the base problem is somewhere else. I tried that by using sftp on ssh.com 2.3.0 [i686-pc-linux-gnu]. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Developer mailto:cygwin at sources.redhat.com Red Hat, Inc. mailto:vinschen at redhat.com
On Thu, Nov 16, 2000 at 04:24:16PM +0000, Christian Weisgerber wrote:> Damien Miller <djm at mindrot.org> wrote: > > > - Key generation is quicker (DSA parameter generation is slow and > > computationally intensive) > > > > - Verification of signatures (and thus authentication) can be an order > > of magnitude faster with RSA. Signing is a little slower. > > FWIW, I have SSH2/RSA up and running on two OpenBSD boxes, and it > appears to work fine. > > Unfortunately, SSH2 connection setup is still unusably slow on > slower machines. For some reason I always tend to have some old > machines at hand. One of my current toys is a Cyrix 486DX2-66 box > that may yet end up as a console server. Starting up an SSH2 > connection to that machine takes forever. From "ssh -v", the > computationally intensive part is here:just remove /etc/primes and try again...
In message <8v1bmg$gte$1 at kemoauc.mips.inka.de>, Christian Weisgerber writes:>What is this file? It's not documented in sshd(8)--nor OpenBSD's >man pages in general.I will fix that.>Anyway, I did, and the situation improved. From "ssh -v" I gather >that whatever this Diffie-Hellman Group Exchange exchanges is down >from 2048 to 1024 bits, resulting in a connection setup time of >25+ seconds. (Still a pain for practical use, of course. Protocol 1 >takes about five seconds.)SSHv2 computes an authenticated Diffie-Hellman key exchange. It requires more modular exponentation than in the simple RSA case. And an additional signature verification. In SSHv1 you just have to deal with RSA, where at least the encryption part is quite fast for the exponents in use. The Diffie-Hellman group exchange allows the server to send new DH groups to the client, which make precomputation undesirable. Read http://www.citi.umich.edu/u/provos/tmp/dh-group-exchange-2.txt for more information. Niels.