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.