root/patches/openssh-4.4p1+SecurID_v1.3.2.patch
| Revision 1, 47.1 kB (checked in by jesus, 5 years ago) |
|---|
-
openssh-4.4p1/Makefile.in
old new 87 87 monitor_mm.o monitor.o monitor_wrap.o kexdhs.o kexgexs.o \ 88 88 auth-krb5.o \ 89 89 auth2-gss.o gss-serv.o gss-serv-krb5.o \ 90 loginrec.o auth-pam.o auth-shadow.o auth-sia.o md5crypt.o \90 loginrec.o auth-pam.o auth-shadow.o auth-sia.o auth-securid.o md5crypt.o \ 91 91 audit.o audit-bsm.o platform.o 92 92 93 93 MANPAGES = scp.1.out ssh-add.1.out ssh-agent.1.out ssh-keygen.1.out ssh-keyscan.1.out ssh.1.out sshd.8.out sftp-server.8.out sftp.1.out ssh-rand-helper.8.out ssh-keysign.8.out sshd_config.5.out ssh_config.5.out -
openssh-4.4p1/README.SecurID
old new 1 /* 2 * Author: Theo Schlossnagle <jesus@omniti.com> 3 * Copyright (c) 2000-2002 Theo Schlossnagle <jesus@omniti.com> 4 * All rights reserved 5 * 6 * Created: September 21, 2000 7 * License: OpenSSH License. See the license for OpenSSH for more details. 8 * 9 * Update for ACE 5.X by Jim Matthews -- Jim.W.Matthews@gmail.com 10 * Patch works only for OpenSSH version v4.4p1 11 * 12 * October 04, 2006: -- Jim.W.Matthews@gmail.com 13 * Updated to support openssh v4.4p1 14 * Updated auth-securid.c with additional includes which are now required. 15 * 16 * February 11, 2006: -- j.w.matthews@cox.net 17 * Updated to support openssh v4.3p1 18 * 19 * September 10, 2005: -- j.w.matthews@cox.net 20 * Updated to support openssh v4.2p1 21 * Fixed bug in auth-securid.c where securid_usersfile_find is used even if 22 * SECURID is undefined at config time - found by Mike Frysinger. 23 * 24 * June 16, 2005: -- j.w.matthews@cox.net 25 * Updated to support openssh v4.1p1 26 * 27 * March 15, 2005: -- j.w.matthews@cox.net 28 * Updated to support openssh v4.0p1 29 * 30 * Aug 18, 2004: -- j.w.matthews@cox.net 31 * Updated to support openssh v3.9p1 32 * Added #ifdef SECURID in a comple of places it wasn't used and should have been 33 * for consistency in monitor.c and monitor.h 34 * 35 * Aug 15, 2004: -- j.w.matthews@cox.net 36 * Updated to support openssh v3.8.1p1 37 * 38 * March 1, 2004: -- j.w.matthews@cox.net 39 * Updated to support openssh v3.8p1 40 * 41 * September 27, 2003: -- j.w.matthews@cox.net 42 * Updated to support openssh v3.7.1p2 43 * Re-added SecurID man page entries previously included in the v3.6.1p2 patch. 44 * Changed "plen" from type int to type u_int in function mm_answer_authsecurid in 45 * monitor.c to conform with openssh. 46 * 47 * September 17, 2003: -- j.w.matthews@cox.net 48 * Updated to support openssh v3.7.1p1. 49 * 50 * September 16, 2003: -- j.w.matthews@cox.net 51 * Updated to support openssh v3.7p1. 52 * In auth-securid.c log has changed to logit since it changed in v3.7p1. 53 * In pam-auth.c securid auth function is no longer needed. v3.7p1 completely 54 * changed the way PAM is handled. 55 * 56 * June 4th, 2003: -- Nicolas Lidzborski <cpc@freeshell.org> 57 * Updated to support openssh v3.6.1p2 58 * 59 * April 5th, 2003: -- j.w.matthews@cox.net 60 * Updated to support openssh v3.6.1p1. 61 * Modified to support both new (5.X+) and old (<= 4.X) securid client API libraries. 62 * Added --with-securid-old for <= 4.X support, --with-securid is for new API support. 63 * Added sd_close for ACE server disconnect at the end of authentication for old API support. 64 * 65 * March 3rd, 2003: -- j.w.matthews@cox.net 66 * Changed "user not in [securid] allow", "user in [securid] deny" SecurID messages from 67 * type "error" to type "log" in auth-securid.c. 68 * 69 * March 1st, 2003: -- j.w.matthews@cox.net 70 * Rewrote functions in auth-securid.c to support the ACE server version 5.X API. 71 * Modified configure script to check for new libaceclnt.a and acexport.h. 72 * Fixed AllowNonSecurid option in monitor.c and servconf.c so it actually works now. 73 * Fixed potential memory leak in auth-securid.c for SecurID shell assignment variable. 74 * 75 * October 22nd, 2002: 76 * Updated to 3.5p1 -- jesus@omniti.com 77 * incorporated a few minor fixes for the auth phase. 78 * 79 * June 26th, 2002: 80 * Updated to 3.4p1 -- jesus@omniti.com 81 * Revamped the auth mechanism to use the new privilege separation code. 82 * Updated man pages in their new locations. 83 * 84 * March 15th, 2002: 85 * Updated to 3.1p1 -- jesus@omniti.com 86 * Added beeter support for auth2-pam. Added NegateSecurIDUsers option to 87 * negate the meaning of the SecureIDUsersFile option. 88 * 89 * December 11th, 2001: 90 * Updated to 3.0.2p1 -- jesus@omniti.com 91 * no new features 92 * 93 * December 3rd, 2001: 94 * Updated to 3.0.1p1 -- jesus@omniti.com 95 * no new features 96 * 97 * November 8th, 2001: 98 * Updated to 3.0p1 -- jesus@omniti.com 99 * no new features 100 * 101 * September 30th, 2001: 102 * Updated to 2.9.9p2 -- jesus@omniti.com 103 * no new features 104 * 105 * June 28, 2001: 106 * Updated to 2.9p2 -- jesus@omniti.com 107 * no new features 108 * 109 * April 24, 2001: 110 * Updated to 2.9p1 -- jesus@omniti.com 111 * added autoconf clauses to fault if sdiclient.a and headers aren't there. 112 * 113 * April 21, 2001: 114 * Updated to 2.5.2p2 -- jesus@omniti.com 115 * Incorporated some bug fixes from Anders Olsen to fix next-token code. 116 * 117 * March 19, 2001: 118 * Updated to 2.5.2p1 -- jesus@omniti.com 119 * 120 * December 20, 2000: 121 * Updated to 2.3.0p1 -- jesus@omniti.com 122 * 123 * Jan 9th, 2001: 124 * Added SecurIDUsersFile, SecurIDIgnoreShell, AllowNonSecurID directives 125 * to the sshd_config file. These parameters are documented in the man page. 126 * This provides a more logical seperationg between fail-through due to system 127 * failure and fall-through by configuration. (fall-through vs. fail-through) 128 * -- jesus@omniti.com 129 */ 130 131 Seems like a few people are interested. So here is the patch. 132 133 This has only been tested on UNICIES that support PAM. There is untested 134 (only 5 lines) code in auth-passwd.c that should provide the same 135 functionality for normal (non-PAM) password verifications. 136 137 The patch is logical quite small, the physical patch bulky because it contains 138 all the line number changes in "configure" after running autoconf on the 139 modified configure.in file (in which I changed maybe 10 lines -- Yuk.) 140 141 The sshd man page has been patched too :-) Read it for the two new options 142 relating to SecurID. 143 144 How it works: 145 146 0) apply patch ;-) You must use GNU patch (get it from ftp.gnu.org, it free.) 147 1) copy ACE headers (in SecurID inc directory) into either a standard 148 include place (like /usr/local/include) or into the openssh source tree or add 149 the --with-cflags=-I/path/to/ace/inc (where the include files are located) 150 2) copy the libaceclnt.a (for ACE 5.X) or sdiclient.a (for ACE <= 4.X) for your 151 OS (from /path/to/ace/lib/<arch>) into the openssh source tree. 152 153 Make sure that /var/ace contains your sdconf.rec, etc. If you installed 154 SecurID client or server on a machine it should be this way already. If you 155 used a non-standard install location do a "ln -s /path/to/ace/data /var/ace" 156 157 3) add --with-securid to the configure flags for new ACE 5.X support. Use 158 --with-securid-old for ACE API version 4.X and older. 159 160 It will trigger if a user has a shell in /etc/passwd that ends with "sdshell" 161 and it snags your shell the same way sdshell does. Users with other shells 162 will log in as if SecurID didn't exist. 163 164 Done: 165 o Normal passcode verification 166 o Enter next token for verification 167 (use ssh -v to see the *useful* debgging messages) 168 169 ssh -v will let you know if: 170 o your code was accepted. 171 o your code was rejected. 172 o you are required to wait for the next token and enter that. 173 174 TODO: 175 o Handle PIN creation and changing (as their are by default three log in 176 attempts, it should be straight forward to integrate in these additions -- 177 both of these operations require exactly three user inputs.) 178 o Add sshd_config parameter to specify the VAR_ACE location (forced to 179 /var/ace OR VAR_ACE environment variable now.) 180 181 DISCLAIMER: 182 I works for me (yes, in production). If you get locked out of a production 183 system becuase you replaced your sshd with this one, feeling really dumb is 184 YOUR responsibility NOT mine. It is not my fault :-D 185 186 Hope this is useful! scp (and all other tools that can use ssh like rsync and 187 cvs) will work now!!!! Hooray! 188 -
openssh-4.4p1/auth-passwd.c
old new 101 101 /* Fall back to ordinary passwd authentication. */ 102 102 } 103 103 #endif 104 #ifdef SECURID 105 if (options.securid_authentication == 1) { 106 int ret = auth_securid(authctxt, password); 107 if (ret >= 0) 108 return ret; 109 /* Only returns < 0 if the account is not a SecurID account */ 110 /* Fall back to ordinary passwd authentication. */ 111 if(ret<0 && !options.allow_nonsecurid) { 112 return 0; 113 } 114 } 115 #endif 104 116 #ifdef HAVE_CYGWIN 105 117 if (is_winnt) { 106 118 HANDLE hToken = cygwin_logon_user(pw, password); -
openssh-4.4p1/auth-securid.c
old new 1 /* 2 * Author: Theo Schlossnagle <jesus@omniti.com> 3 * Copyright (c) 2000 Theo Schlossnagle <jesus@omniti.com> 4 * All rights reserved 5 * Created: September 21, 2000 6 * This file contains the code to process a SecurID authentication 7 * including the "next token" request. 8 */ 9 10 /* 11 * Added ACE Server API version 5.X Support 12 * Jim Matthews (JWM) 13 * 14 */ 15 16 #include "includes.h" 17 18 /* RCSID("$OpenBSD: auth-securid.c,v 1.0 2000/09/21 01:39:38 jesus Exp $"); */ 19 /* $Id: auth-securid.c,v 1.3.1 2006/10/04 23:22:12 jmatthew Exp jmatthew $ */ 20 21 #include "packet.h" 22 #include "ssh.h" 23 #include "log.h" 24 #include "servconf.h" 25 #include "xmalloc.h" 26 #include "key.h" 27 #include "hostfile.h" 28 #include "auth.h" 29 30 #include <string.h> 31 #include <errno.h> 32 33 #ifdef WITH_AIXAUTHENTICATE 34 # include <login.h> 35 #endif 36 #ifdef HAVE_HPUX_TRUSTED_SYSTEM_PW 37 # include <hpsecurity.h> 38 # include <prot.h> 39 #endif 40 #ifdef HAVE_SHADOW_H 41 # include <shadow.h> 42 #endif 43 #ifdef HAVE_GETPWANAM 44 # include <sys/label.h> 45 # include <sys/audit.h> 46 # include <pwdadj.h> 47 #endif 48 #if defined(HAVE_MD5_PASSWORDS) && !defined(HAVE_MD5_CRYPT) 49 # include "md5crypt.h" 50 #endif /* defined(HAVE_MD5_PASSWORDS) && !defined(HAVE_MD5_CRYPT) */ 51 52 #ifdef SECURID 53 #ifdef SECURID_NEW 54 /* Only need acexport.h for 5.0 API JWM */ 55 # include "acexport.h" 56 57 #else 58 59 # include "sdi_athd.h" 60 # include "sdconf.h" 61 # include "sdacmvls.h" 62 63 union config_record configure; 64 #endif 65 #endif 66 67 /* 68 * Tries to authenticate the user using password. Returns true if 69 * authentication succeeds. 70 */ 71 #define INBUFFLEN 256 72 73 /* Added ifdef 09102005 JWM */ 74 #ifdef SECURID 75 int 76 securid_usersfile_find(const char *pw_name) 77 { 78 extern ServerOptions options; 79 FILE *inf; 80 char inbuff[INBUFFLEN]; 81 struct stat fileinfo; 82 int retval = 0; 83 84 if(!options.securid_usersfile) { 85 error("In securid_usersfile_find() with NULL filename!"); 86 return -1; 87 } 88 if(lstat(options.securid_usersfile, &fileinfo)) { 89 error("Cannot open %s: %s", 90 options.securid_usersfile, strerror(errno)); 91 return -1; 92 } 93 if(fileinfo.st_mode & (S_IWOTH|S_IWGRP)) { 94 error("SecurIDUsersFile is writeable by group and other"); 95 return -1; 96 } 97 if(!(inf = fopen(options.securid_usersfile, "r"))) { 98 error("Cannot open %s: %s", 99 options.securid_usersfile, strerror(errno)); 100 return -1; 101 } 102 while(fgets(inbuff,INBUFFLEN-1,inf) != NULL) { 103 if(inbuff[strlen(inbuff) - 1] == '\n') 104 inbuff[strlen(inbuff) - 1] = '\0'; 105 retval = !strcmp(inbuff,pw_name); 106 if(retval) break; 107 } 108 fclose(inf); 109 if(retval) return 1; 110 debug2("Failed to find %s in %s", 111 pw_name, options.securid_usersfile); 112 return 0; 113 } 114 #endif 115 116 int 117 auth_securid(Authctxt *authctxt, const char *password) 118 { 119 static int state = 0; /* This tells us where we expect a 120 0 "PIN" 121 1 "Next Token" 122 */ 123 int doauth; 124 char *ecp; 125 /* Changed this to static, since pw->shell does not get redefined, prevents mem leak JWM */ 126 /* Allocate 256 chars for shell JWM */ 127 static char shell[256]; 128 extern ServerOptions options; 129 struct passwd *pw; 130 #ifndef SECURID 131 return -1; 132 #else 133 /* Add static for the nexttoken case -- Anders Olsen 20010409 */ 134 /* API Change for ACE version 5.03 JWM */ 135 #ifdef SECURID_NEW 136 static SDI_HANDLE sd_dat; 137 #else 138 static struct SD_CLIENT sd_dat, *sd; 139 #endif 140 141 pw = authctxt->pw; 142 /* Check for users with no sdshell and pass them by. */ 143 if(options.securid_usersfile) { 144 doauth = securid_usersfile_find(pw->pw_name); 145 if(!options.negate_securid_users && doauth == 0) { 146 /* file is there, user is not, option respected */ 147 /* log instead of error JWM */ 148 logit("User Not In SecurID Users Allow File"); 149 if(options.allow_nonsecurid) return -1; 150 return 0; 151 } else if(options.negate_securid_users && doauth == 1) { 152 /* file is there, user is, option negated */ 153 /* log instead of error JWM */ 154 logit("User In SecurID Users Deny File"); 155 if(options.allow_nonsecurid) return -1; 156 return 0; 157 } else if(doauth < 0) { /* File not there or bad perms! */ 158 error("Failing SecurID login attempt"); 159 return 0; /* Fail */ 160 } 161 } else { 162 /* No users securid_usersfile 163 so use shells that end in sdshell */ 164 if (!((ecp = strstr(pw->pw_shell, "sdshell")) && 165 (*(ecp+7)=='\0'))) { 166 if(options.allow_nonsecurid) { 167 return -1; 168 } else { 169 return 0; 170 } 171 } 172 } 173 /* sd_check on with an empty password causes segfault against some 174 versions of sdiclient -- Anders Olsen 20010409 */ 175 if (*password == '\0') { 176 debug2("auth_securid: empty password, skipping"); 177 return 0; 178 } 179 /* Don't reopen session to securid-server is nexttoken 180 -- Adres Olsen 20010410 */ 181 if (state == 0) { 182 int ret; 183 #ifdef SECURID_NEW 184 /* API Change for ACE version 5.03 JWM */ 185 /* Initialize the ace client, test for sdconf.rec and other setup */ 186 if(AceInitialize() == SD_FALSE) { 187 error("SecurID: Failed to initialize ACE API library."); 188 if(options.securid_fallback) return -1; 189 return 0; 190 } 191 /* API Change for ACE version 5.03 JWM */ 192 /* Initialize communication, check connection to server, etc */ 193 ret = SD_Init(&sd_dat); 194 if(ret != ACM_OK) { 195 if(ret == ACE_INIT_NO_RESOURCE) { 196 error("SecurID: Couldn't allocate memory."); 197 } 198 if(ret == ACE_INIT_SOCKET_FAIL) { 199 error("SecurID: Couldn't create socket."); 200 } 201 error("SecurID: Couldn't establish client/server communications."); 202 if(options.securid_fallback) return -1; 203 return 0; 204 } 205 /* API addition for ACE version 5.03 JWM */ 206 /* Lock Server */ 207 if(SD_Lock(sd_dat,pw->pw_name) == ACM_OK) { 208 debug("SecurID: Locked Server"); 209 } else { 210 error("SecurID: Failed to lock server."); 211 return 0; 212 } 213 /* API Change for version 5.03 JWM */ 214 /* Check for valid authentication */ 215 ret = SD_Check(sd_dat, (char *)password, pw->pw_name); 216 if(ret == ACM_OK) { 217 goto success; 218 } else { 219 if(ret == ACM_ACCESS_DENIED) { 220 error("SecurID: authentication failed."); 221 } 222 if(ret == ACM_NEXT_CODE_REQUIRED) { 223 error("SecurID: needs next token."); 224 state = 1; /* Process next try as sd_next */ 225 } 226 if(ret == ACE_UNDEFINED_PASSCODE) { 227 error("SecurID: passcode invalid length or null"); 228 } 229 if(ret == ACE_UNDEFINED_USERNAME) { 230 error("SecurID: username invalid length or null"); 231 } 232 if(ret == ACE_ERR_INVALID_HANDLE) { 233 error("SecurID: handle value invalid"); 234 } 235 if(ret == ACM_NEW_PIN_REQUIRED) { 236 error("SecurID: new pin required"); 237 } 238 return 0; /* Failed! */ 239 } 240 #else /* else old securid */ 241 memset(&sd_dat, 0, sizeof(sd_dat)); /* clear struct */ 242 sd = &sd_dat; 243 244 if(creadcfg()) { 245 /* Can't read sdconf.rec! Gotta bail */ 246 error("SecurID: Couldn't read sdconf.rec."); 247 if(options.securid_fallback) return -1; 248 return 0; 249 } 250 if(sd_init(sd)) { 251 /* Can't establish client/server comms! Gotta bail */ 252 error("SecurID: Couldn't establish client/server communications."); 253 if(options.securid_fallback) return -1; 254 return 0; 255 } 256 /* Auth PIN... */ 257 ret = sd_check((char *)password, pw->pw_name, sd); 258 if(ret == ACM_OK) { 259 goto success; 260 } 261 if(ret == ACM_ACCESS_DENIED) { 262 error("SecurID: passcode rejected."); 263 return 0; /* Failed! */ 264 } 265 if(ret == ACM_NEXT_CODE_REQUIRED) { 266 error("SecurID: needs next token."); 267 state = 1; /* Process next try as sd_next */ 268 return 0; /* Fail, so ssh will prmpt again */ 269 } 270 #endif 271 } else { 272 /* Auth next token... */ 273 int ret; 274 state = 0; /* Set back to PIN mode */ 275 #ifdef SECURID_NEW 276 /* API Change for version 5.03 JWM */ 277 ret = SD_Next(sd_dat, (char *)password); 278 #else 279 ret = sd_next((char *)password, sd); 280 #endif 281 if(ret == ACM_OK) { 282 goto success; 283 } 284 error("SecurID: passcode rejected."); 285 return 0; /* Failed */ 286 } 287 error("SecurID: unhandled sdcheck() return code."); 288 return 0; /* Failed! */ 289 290 success: 291 #ifdef SECURID_NEW 292 /* Clear mem for shell */ 293 memset(shell, 0, sizeof(shell)); 294 #endif 295 if(!options.securid_ignore_shell) { 296 #ifdef SECURID_NEW 297 /* Changed for ACE 5.0 API JWM */ 298 if(!AceGetShell(sd_dat,shell)) { 299 error("SecurID: Failed to get user's shell from server."); 300 return 0; 301 } 302 #else 303 strcpy(shell,sd->shell); 304 #endif 305 pw->pw_shell = shell; 306 } 307 #ifdef SECURID_NEW 308 if(SD_Close(sd_dat) != ACM_OK) { 309 error("SecurID: SD_Close - Handle invalid."); 310 } 311 #else 312 if(!sd_close()) { 313 error("SecurID: sd_close failed."); 314 } 315 #endif 316 return 1; /* Success */ 317 #endif 318 } -
openssh-4.4p1/auth.h
old new 107 107 auth_rhosts2(struct passwd *, const char *, const char *, const char *); 108 108 109 109 int auth_rhosts_rsa(Authctxt *, char *, Key *); 110 #ifdef SECURID 111 int auth_securid(Authctxt *, const char *); 112 #endif 110 113 int auth_password(Authctxt *, const char *); 111 114 int auth_rsa(Authctxt *, BIGNUM *); 112 115 int auth_rsa_challenge_dialog(Key *); -
openssh-4.4p1/auth2-passwd.c
old new 64 64 } 65 65 packet_check_eom(); 66 66 67 #ifdef SECURID 68 /* Try SecurID regardless */ 69 if (authctxt->valid && options.securid_authentication == 1) { 70 authenticated = PRIVSEP(auth_securid(authctxt, password)); 71 /* Only returns < 0 if the account is not a SecurID account */ 72 /* Fall back to ordinary passwd authentication. */ 73 if(authenticated < 0) 74 authenticated = 0; 75 else 76 goto passreturn; 77 } 78 /* No... continue */ 79 #endif 80 67 81 if (change) 68 82 logit("password change not supported"); 69 83 else if (PRIVSEP(auth_password(authctxt, password)) == 1) … … 72 86 if (check_nt_auth(1, authctxt->pw) == 0) 73 87 authenticated = 0; 74 88 #endif 89 #ifdef SECURID 90 passreturn: 91 #endif 75 92 memset(password, 0, len); 76 93 xfree(password); 77 94 return authenticated; -
openssh-4.4p1/config.h.in
old new 1171 1171 /* Location of PRNGD/EGD random number socket */ 1172 1172 #undef PRNGD_SOCKET 1173 1173 1174 /* Define if you want SecurID support */ 1175 #undef SECURID 1176 #undef SECURID_NEW 1177 1174 1178 /* read(1) can return 0 for a non-closed fd */ 1175 1179 #undef PTY_ZEROREAD 1176 1180 -
openssh-4.4p1/configure
old new 199 199 echo as_func_ret_failure succeeded. 200 200 fi 201 201 202 if ( set x; as_func_ret_success y && test x = \"\$1\" ); then202 if ( set x; as_func_ret_success y && test x = \"\$1\" ); then 203 203 : 204 204 else 205 205 exitcode=1 … … 401 401 echo as_func_ret_failure succeeded. 402 402 fi 403 403 404 if ( set x; as_func_ret_success y && test x = \"\$1\" ); then404 if ( set x; as_func_ret_success y && test x = \"\$1\" ); then 405 405 : 406 406 else 407 407 exitcode=1 … … 1322 1322 --with-zlib=PATH Use zlib in PATH 1323 1323 --without-zlib-version-check Disable zlib version check 1324 1324 --with-skey[=PATH] Enable S/Key support (optionally in PATH) 1325 --with-securid Enable ACE 5.X+ SecurID support 1326 --with-securid-old Enable SecurID 4.X and earlier SecurID support 1325 1327 --with-tcp-wrappers[=PATH] Enable tcpwrappers support (optionally in PATH) 1326 1328 --with-libedit[=PATH] Enable libedit support for sftp 1327 1329 --with-audit=module Enable EXPERIMENTAL audit support (modules=debug,bsm) … … 12958 12960 fi 12959 12961 12960 12962 12963 SECURID_MSG="no" 12964 12965 # Check whether --with-securid was given. 12966 if test "${with_securid+set}" = set; then 12967 withval=$with_securid; 12968 if test "x$withval" != "xno" ; then 12969 saved_LIBS="$LIBS" 12970 LIBS="$LIBS libaceclnt.a -lpthread" 12971 { echo "$as_me:$LINENO: checking for libaceclnt.a and includes" >&5 12972 echo $ECHO_N "checking for libaceclnt.a and includes... $ECHO_C" >&6; } 12973 cat >conftest.$ac_ext <<_ACEOF 12974 /* confdefs.h. */ 12975 _ACEOF 12976 cat confdefs.h >>conftest.$ac_ext 12977 cat >>conftest.$ac_ext <<_ACEOF 12978 /* end confdefs.h. */ 12979 12980 #include "acexport.h" 12981 SDI_HANDLE sd_dat; 12982 12983 int 12984 main () 12985 { 12986 AceInitialize(); SD_Init(&sd_dat); 12987 ; 12988 return 0; 12989 } 12990 _ACEOF 12991 rm -f conftest.$ac_objext conftest$ac_exeext 12992 if { (ac_try="$ac_link" 12993 case "(($ac_try" in 12994 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 12995 *) ac_try_echo=$ac_try;; 12996 esac 12997 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 12998 (eval "$ac_link") 2>conftest.er1 12999 ac_status=$? 13000 grep -v '^ *+' conftest.er1 >conftest.err 13001 rm -f conftest.er1 13002 cat conftest.err >&5 13003 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13004 (exit $ac_status); } && 13005 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 13006 { (case "(($ac_try" in 13007 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 13008 *) ac_try_echo=$ac_try;; 13009 esac 13010 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 13011 (eval "$ac_try") 2>&5 13012 ac_status=$? 13013 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13014 (exit $ac_status); }; } && 13015 { ac_try='test -s conftest$ac_exeext' 13016 { (case "(($ac_try" in 13017 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 13018 *) ac_try_echo=$ac_try;; 13019 esac 13020 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 13021 (eval "$ac_try") 2>&5 13022 ac_status=$? 13023 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13024 (exit $ac_status); }; }; then 13025 13026 { echo "$as_me:$LINENO: result: yes" >&5 13027 echo "${ECHO_T}yes" >&6; } 13028 cat >>confdefs.h <<\_ACEOF 13029 #define SECURID 1 13030 _ACEOF 13031 13032 cat >>confdefs.h <<\_ACEOF 13033 #define SECURID_NEW 1 13034 _ACEOF 13035 13036 SECURID_MSG="yes: 5.X+" 13037 13038 else 13039 echo "$as_me: failed program was:" >&5 13040 sed 's/^/| /' conftest.$ac_ext >&5 13041 13042 13043 { { echo "$as_me:$LINENO: error: *** libaceclnt.a or includes missing" >&5 13044 echo "$as_me: error: *** libaceclnt.a or includes missing" >&2;} 13045 { (exit 1); exit 1; }; } 13046 13047 13048 fi 13049 13050 rm -f core conftest.err conftest.$ac_objext \ 13051 conftest$ac_exeext conftest.$ac_ext 13052 fi 13053 13054 13055 fi 13056 13057 13058 # Check whether --with-securid-old was given. 13059 if test "${with_securid_old+set}" = set; then 13060 withval=$with_securid_old; 13061 if test "x$withval" != "xno" ; then 13062 saved_LIBS="$LIBS" 13063 LIBS="$LIBS sdiclient.a" 13064 { echo "$as_me:$LINENO: checking for sdiclient.a and includes" >&5 13065 echo $ECHO_N "checking for sdiclient.a and includes... $ECHO_C" >&6; } 13066 cat >conftest.$ac_ext <<_ACEOF 13067 /* confdefs.h. */ 13068 _ACEOF 13069 cat confdefs.h >>conftest.$ac_ext 13070 cat >>conftest.$ac_ext <<_ACEOF 13071 /* end confdefs.h. */ 13072 13073 #include "sdi_athd.h" 13074 #include "sdconf.h" 13075 #include "sdacmvls.h" 13076 struct SD_CLIENT sd_dat, *sd; 13077 union config_record configure; 13078 13079 int 13080 main () 13081 { 13082 sd = &sd_dat; creadcfg(); sd_init(sd); 13083 ; 13084 return 0; 13085 } 13086 _ACEOF 13087 rm -f conftest.$ac_objext conftest$ac_exeext 13088 if { (ac_try="$ac_link" 13089 case "(($ac_try" in 13090 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 13091 *) ac_try_echo=$ac_try;; 13092 esac 13093 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 13094 (eval "$ac_link") 2>conftest.er1 13095 ac_status=$? 13096 grep -v '^ *+' conftest.er1 >conftest.err 13097 rm -f conftest.er1 13098 cat conftest.err >&5 13099 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13100 (exit $ac_status); } && 13101 { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err' 13102 { (case "(($ac_try" in 13103 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 13104 *) ac_try_echo=$ac_try;; 13105 esac 13106 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 13107 (eval "$ac_try") 2>&5 13108 ac_status=$? 13109 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13110 (exit $ac_status); }; } && 13111 { ac_try='test -s conftest$ac_exeext' 13112 { (case "(($ac_try" in 13113 *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; 13114 *) ac_try_echo=$ac_try;; 13115 esac 13116 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5 13117 (eval "$ac_try") 2>&5 13118 ac_status=$? 13119 echo "$as_me:$LINENO: \$? = $ac_status" >&5 13120 (exit $ac_status); }; }; then 13121 13122 { echo "$as_me:$LINENO: result: yes" >&5 13123 echo "${ECHO_T}yes" >&6; } 13124 cat >>confdefs.h <<\_ACEOF 13125 #define SECURID 1 13126 _ACEOF 13127 13128 SECURID_MSG="yes: <= 4.X" 13129 13130 else 13131 echo "$as_me: failed program was:" >&5 13132 sed 's/^/| /' conftest.$ac_ext >&5 13133 13134 13135 { { echo "$as_me:$LINENO: error: *** sdiclient.a or includes missing" >&5 13136 echo "$as_me: error: *** sdiclient.a or includes missing" >&2;} 13137 { (exit 1); exit 1; }; } 13138 13139 13140 fi 13141 13142 rm -f core conftest.err conftest.$ac_objext \ 13143 conftest$ac_exeext conftest.$ac_ext 13144 fi 13145 13146 13147 fi 13148 13149 12961 13150 # Check whether user wants TCP wrappers support 12962 13151 TCPW_MSG="no" 12963 13152 … … 33407 33596 echo " SELinux support: $SELINUX_MSG" 33408 33597 echo " Smartcard support: $SCARD_MSG" 33409 33598 echo " S/KEY support: $SKEY_MSG" 33599 echo " SecurID support: $SECURID_MSG" 33410 33600 echo " TCP Wrappers support: $TCPW_MSG" 33411 33601 echo " MD5 password support: $MD5_MSG" 33412 33602 echo " libedit support: $LIBEDIT_MSG" -
openssh-4.4p1/configure.ac
old new 1079 1079 ] 1080 1080 ) 1081 1081 1082 SECURID_MSG="no" 1083 AC_ARG_WITH(securid, 1084 [ --with-securid Enable ACE 5.X+ SecurID support], 1085 [ 1086 if test "x$withval" != "xno" ; then 1087 saved_LIBS="$LIBS" 1088 LIBS="$LIBS libaceclnt.a -lpthread" 1089 AC_MSG_CHECKING(for libaceclnt.a and includes) 1090 AC_TRY_LINK( 1091 [ 1092 #include "acexport.h" 1093 SDI_HANDLE sd_dat; 1094 ], 1095 [AceInitialize(); SD_Init(&sd_dat);], 1096 [ 1097 AC_MSG_RESULT(yes) 1098 AC_DEFINE(SECURID) 1099 AC_DEFINE(SECURID_NEW) 1100 SECURID_MSG="yes: 5.X+" 1101 ], 1102 [ 1103 AC_MSG_ERROR([*** libaceclnt.a or includes missing]) 1104 ] 1105 ) 1106 fi 1107 ] 1108 ) 1109 AC_ARG_WITH(securid-old, 1110 [ --with-securid-old Enable SecurID 4.X and earlier SecurID support], 1111 [ 1112 if test "x$withval" != "xno" ; then 1113 saved_LIBS="$LIBS" 1114 LIBS="$LIBS sdiclient.a" 1115 AC_MSG_CHECKING(for sdiclient.a and includes) 1116 AC_TRY_LINK( 1117 [ 1118 #include "sdi_athd.h" 1119 #include "sdconf.h" 1120 #include "sdacmvls.h" 1121 struct SD_CLIENT sd_dat, *sd; 1122 union config_record configure; 1123 ], 1124 [sd = &sd_dat; creadcfg(); sd_init(sd);], 1125 [ 1126 AC_MSG_RESULT(yes) 1127 AC_DEFINE(SECURID) 1128 SECURID_MSG="yes: <= 4.X" 1129 ], 1130 [ 1131 AC_MSG_ERROR([*** sdiclient.a or includes missing]) 1132 ] 1133 ) 1134 fi 1135 ] 1136 ) 1137 1082 1138 # Check whether user wants TCP wrappers support 1083 1139 TCPW_MSG="no" 1084 1140 AC_ARG_WITH(tcp-wrappers, … … 3965 4021 echo " SELinux support: $SELINUX_MSG" 3966 4022 echo " Smartcard support: $SCARD_MSG" 3967 4023 echo " S/KEY support: $SKEY_MSG" 4024 echo " SecurID support: $SECURID_MSG" 3968 4025 echo " TCP Wrappers support: $TCPW_MSG" 3969 4026 echo " MD5 password support: $MD5_MSG" 3970 4027 echo " libedit support: $LIBEDIT_MSG" -
openssh-4.4p1/monitor.c
old new 133 133 int mm_answer_pwnamallow(int, Buffer *); 134 134 int mm_answer_auth2_read_banner(int, Buffer *); 135 135 int mm_answer_authserv(int, Buffer *); 136 #ifdef SECURID 137 int mm_answer_authsecurid(int, Buffer *); 138 #endif 136 139 int mm_answer_authpassword(int, Buffer *); 137 140 int mm_answer_bsdauthquery(int, Buffer *); 138 141 int mm_answer_bsdauthrespond(int, Buffer *); … … 206 209 {MONITOR_REQ_AUTHSERV, MON_ONCE, mm_answer_authserv}, 207 210 {MONITOR_REQ_AUTH2_READ_BANNER, MON_ONCE, mm_answer_auth2_read_banner}, 208 211 {MONITOR_REQ_AUTHPASSWORD, MON_AUTH, mm_answer_authpassword}, 212 #ifdef SECURID 213 {MONITOR_REQ_AUTHSECURID, MON_AUTH, mm_answer_authsecurid}, 214 #endif 209 215 #ifdef USE_PAM 210 216 {MONITOR_REQ_PAM_START, MON_ONCE, mm_answer_pam_start}, 211 217 {MONITOR_REQ_PAM_ACCOUNT, 0, mm_answer_pam_account}, … … 697 703 return (0); 698 704 } 699 705 706 #ifdef SECURID 707 int 708 mm_answer_authsecurid(int socket, Buffer *m) 709 { 710 static int call_count; 711 char *passwd; 712 int authenticated; 713 /* Changed to u_int to conform with openssh JWM */ 714 u_int plen; 715 716 passwd = buffer_get_string(m, &plen); 717 /* Only authenticate if the context is valid */ 718 authenticated = 0; 719 if(options.securid_authentication && authctxt->valid) { 720 authenticated = auth_securid(authctxt, passwd); 721 /* Fixed fallback/nonsecurid JWM */ 722 if(authenticated < 0) { 723 if(options.password_authentication) { 724 if(options.allow_nonsecurid || options.securid_fallback) { 725 debug2("Falling to password authentication."); 726 authenticated = auth_password(authctxt, passwd); 727 } else { 728 authenticated = 0; 729 } 730 } else { 731 authenticated = 0; 732 } 733 } 734 } 735 memset(passwd, 0, strlen(passwd)); 736 xfree(passwd); 737 738 buffer_clear(m); 739 buffer_put_int(m, authenticated); 740 741 debug3("%s: sending result %d", __func__, authenticated); 742 mm_request_send(socket, MONITOR_ANS_AUTHSECURID, m); 743 744 call_count++; 745 if (plen == 0 && call_count == 1) 746 auth_method = "none"; 747 else 748 auth_method = "password"; 749 750 /* Causes monitor loop to terminate if authenticated */ 751 return (authenticated); 752 } 753 #endif 754 700 755 int 701 756 mm_answer_authpassword(int sock, Buffer *m) 702 757 { -
openssh-4.4p1/monitor.h
old new 35 35 MONITOR_REQ_PWNAM, MONITOR_ANS_PWNAM, 36 36 MONITOR_REQ_AUTH2_READ_BANNER, MONITOR_ANS_AUTH2_READ_BANNER, 37 37 MONITOR_REQ_AUTHPASSWORD, MONITOR_ANS_AUTHPASSWORD, 38 #ifdef SECURID 39 MONITOR_REQ_AUTHSECURID, MONITOR_ANS_AUTHSECURID, 40 #endif 38 41 MONITOR_REQ_BSDAUTHQUERY, MONITOR_ANS_BSDAUTHQUERY, 39 42 MONITOR_REQ_BSDAUTHRESPOND, MONITOR_ANS_BSDAUTHRESPOND, 40 43 MONITOR_REQ_SKEYQUERY, MONITOR_ANS_SKEYQUERY, -
openssh-4.4p1/monitor_wrap.c
old new 282 282 buffer_free(&m); 283 283 } 284 284 285 #ifdef SECURID 286 /* Do the securid authentication */ 287 int 288 mm_auth_securid(Authctxt *authctxt, char *password) 289 { 290 Buffer m; 291 int authenticated = 0; 292 293 debug3("%s entering", __func__); 294 295 buffer_init(&m); 296 buffer_put_cstring(&m, password); 297 mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTHSECURID, &m); 298 299 debug3("%s: waiting for MONITOR_ANS_AUTHSECURID", __func__); 300 mm_request_receive_expect(pmonitor->m_recvfd, MONITOR_ANS_AUTHSECURID, &m); 301 302 authenticated = buffer_get_int(&m); 303 304 buffer_free(&m); 305 306 debug3("%s: user %sauthenticated", 307 __func__, authenticated ? "" : "not "); 308 return (authenticated); 309 } 310 #endif 311 285 312 /* Do the password authentication */ 286 313 int 287 314 mm_auth_password(Authctxt *authctxt, char *password) -
openssh-4.4p1/monitor_wrap.h
old new 43 43 void mm_inform_authserv(char *, char *); 44 44 struct passwd *mm_getpwnamallow(const char *); 45 45 char *mm_auth2_read_banner(void); 46 #ifdef SECURID 47 int mm_auth_securid(struct Authctxt *, char *); 48 #endif 46 49 int mm_auth_password(struct Authctxt *, char *); 47 50 int mm_key_allowed(enum mm_keytype, char *, char *, Key *); 48 51 int mm_user_key_allowed(struct passwd *, Key *); -
openssh-4.4p1/servconf.c
old new 85 85 options->hostbased_uses_name_from_packet_only = -1; 86 86 options->rsa_authentication = -1; 87 87 options->pubkey_authentication = -1; 88 #ifdef SECURID 89 options->securid_authentication = -1; 90 options->securid_fallback = -1; 91 options->allow_nonsecurid = -1; 92 options->negate_securid_users = -1; 93 options->securid_usersfile = NULL; 94 options->securid_ignore_shell = -1; 95 #endif 88 96 options->kerberos_authentication = -1; 89 97 options->kerberos_or_local_passwd = -1; 90 98 options->kerberos_ticket_cleanup = -1; … … 194 202 options->rsa_authentication = 1; 195 203 if (options->pubkey_authentication == -1) 196 204 options->pubkey_authentication = 1; 205 #ifdef SECURID 206 if (options->securid_authentication == -1) 207 options->securid_authentication = 1; 208 /* Fixed fallback and non-securid JWM */ 209 if (options->securid_fallback == -1) 210 options->securid_fallback = 1; 211 if (options->allow_nonsecurid == -1) 212 options->allow_nonsecurid = 1; 213 if (options->negate_securid_users == -1) 214 options->negate_securid_users = 0; 215 if (options->securid_ignore_shell == -1) 216 options->securid_ignore_shell = 0; 217 #endif 197 218 if (options->kerberos_authentication == -1) 198 219 options->kerberos_authentication = 0; 199 220 if (options->kerberos_or_local_passwd == -1) … … 274 295 sPort, sHostKeyFile, sServerKeyBits, sLoginGraceTime, sKeyRegenerationTime, 275 296 sPermitRootLogin, sLogFacility, sLogLevel, 276 297 sRhostsRSAAuthentication, sRSAAuthentication, 298 #ifdef SECURID 299 sSecurIDAuthentication, sSecurIDFallBack, sAllowNonSecurID, 300 sNegateSecurIDUsers, sSecurIDUsersFile, sSecurIDIgnoreShell, 301 #endif 277 302 sKerberosAuthentication, sKerberosOrLocalPasswd, sKerberosTicketCleanup, 278 303 sKerberosGetAFSToken, 279 304 sKerberosTgtPassing, sChallengeResponseAuthentication, … … 323 348 { "keyregenerationinterval", sKeyRegenerationTime, SSHCFG_GLOBAL }, 324 349 { "permitrootlogin", sPermitRootLogin, SSHCFG_GLOBAL }, 325 350 { "syslogfacility", sLogFacility, SSHCFG_GLOBAL }, 351 #ifdef SECURID 352 { "securidauthentication", sSecurIDAuthentication }, 353 { "securidfallback", sSecurIDFallBack }, 354 { "allownonsecurid", sAllowNonSecurID }, 355 { "negatesecuridusers", sNegateSecurIDUsers }, 356 { "securidusersfile", sSecurIDUsersFile }, 357 { "securidignoreshell", sSecurIDIgnoreShell }, 358 #endif 326 359 { "loglevel", sLogLevel, SSHCFG_GLOBAL }, 327 360 { "rhostsauthentication", sDeprecated, SSHCFG_GLOBAL }, 328 361 { "rhostsrsaauthentication", sRhostsRSAAuthentication, SSHCFG_GLOBAL }, … … 828 861 *intptr = value; 829 862 break; 830 863 864 #ifdef SECURID 865 case sSecurIDAuthentication: 866 intptr = &options->securid_authentication; 867 goto parse_flag; 868 869 case sSecurIDFallBack: 870 intptr = &options->securid_fallback; 871 goto parse_flag; 872 873 case sAllowNonSecurID: 874 intptr = &options->allow_nonsecurid; 875 goto parse_flag; 876 877 case sNegateSecurIDUsers: 878 intptr = &options->negate_securid_users; 879 goto parse_flag; 880 881 case sSecurIDUsersFile: 882 charptr = &options->securid_usersfile; 883 goto parse_filename; 884 885 case sSecurIDIgnoreShell: 886 intptr = &options->securid_ignore_shell; 887 goto parse_flag; 888 #endif 831 889 case sIgnoreUserKnownHosts: 832 890 intptr = &options->ignore_user_known_hosts; 833 891 goto parse_flag; -
openssh-4.4p1/servconf.h
old new 88 88 * authenticated with Kerberos. */ 89 89 int gss_authentication; /* If true, permit GSSAPI authentication */ 90 90 int gss_cleanup_creds; /* If true, destroy cred cache on logout */ 91 #ifdef SECURID 92 int securid_authentication; /* If set, use securid */ 93 int securid_fallback; /* If set, allow normal passwords 94 is master/slave are not accessible */ 95 int allow_nonsecurid; /* If set, allow nonsecurid users 96 logins via other means (e.g. PAM) */ 97 int negate_securid_users; /* If set, securid_usersfile is used 98 to determine who _doesn't_ get 99 authed via SecurID */ 100 char *securid_usersfile; /* If set, only users in the file 101 will authenticate via SecurID 102 The shell need not be .../sdshell */ 103 int securid_ignore_shell; /* If true, use the shell in /etc/passwd 104 instead of the shell proposed by 105 the ACE server. */ 106 #endif 91 107 int password_authentication; /* If true, permit password 92 108 * authentication. */ 93 109 int kbd_interactive_authentication; /* If true, permit */ -
openssh-4.4p1/sshd_config.0
old new 52 52 curity unless users are also denied shell access, as they can al- 53 53 ways install their own forwarders. 54 54 55 AllowNonSecurID 56 This will allow users that do not meet the SecurID login activa- 57 tion requirements (not in the SecurIDUsersFile or do not have a 58 shell ending with sdshell, if the SecurIDUsersFile option is used 59 or is omitted, respectively) to still log in using another 60 authentication method (e.g. PAM or passwd.) 61 55 62 AllowUsers 56 63 This keyword can be followed by a list of user name patterns, 57 64 separated by spaces. If specified, login is allowed only for us- … … 315 322 creases linearly and all connection attempts are refused if the 316 323 number of unauthenticated connections reaches ``full'' (60). 317 324 325 NegateSecurIDUsers 326 Negates the meaning of the SecurIDUsers file. Users in this file 327 will not require SecurID auth, but all others will. The 328 default is ``no''. 329 318 330 PasswordAuthentication 319 331 Specifies whether password authentication is allowed. The de- 320 332 fault is ``yes''. … … 409 421 fault is ``yes''. This option applies to protocol version 1 on- 410 422 ly. 411 423 424 SecurIDAuthentication 425 Specifies whether SecurID authentication is allowed. The default 426 is ``yes''. SecurID authentication is enabled in both PAM and 427 PasswordAuthentication modes. 428 429 NOTES: After you enter your SecurID passcode, SecurID may choose 430 to ask for the next code on your token. To handle this event 431 without modifying the SSH client, the actual information that 432 sshd is asking for is passed in the debugging messages. If your 433 login attempts fail, try sshing with -v and you can see if it is 434 asking for your passcode or for the next token. 435 436 SecurIDFallBack 437 Specifies whether SecurID user logins will fallback to their 438 to an underlying form (PAM/PaswordAuthentication) if the SecurID 439 server is unavailable or the machine is not configured correctly. 440 441 SecurIDIgnoreShell 442 Specifies whether sshd will respect the ACE server's propsed user 443 shell. The default is ``no''. If yes, then the shell in 444 /etc/passwd will be used instead, eliminating the need for a 445 /path/to/ace/prog/sdshell style shell. This option only makes 446 sense when using the SecurIDUsersFile option. 447 448 NOTES: If the SecurIDIgnoreShell option is set to ``yes'', then the 449 shell in /etc/passwd will be used in place of the shell proposed 450 by the ACE server -- allowing a user to have different shells on 451 different machines. In conjunction with SecurIDIgnoreShell, this 452 can force sshd to use SecurID while other system authentications 453 use alternative methods without the complication of having sdshell 454 as the user's default shell. 455 456 SecurIDUsersFile 457 The argument a filename that contains usernames that are to be 458 authenticated via SecurID. By default this option is unset and 459 users will only be authenticated if their shell ends with sdshell 460 412 461 ServerKeyBits 413 462 Defines the number of bits in the ephemeral protocol version 1 414 463 server key. The minimum value is 512, and the default is 768. -
openssh-4.4p1/sshd_config.5
old new 116 116 in 117 117 .Xr ssh_config 5 118 118 for more information on patterns. 119 .It Cm AllowNonSecurID 120 This will allow users that do not meet the SecurID login 121 activation requirements (not in the SecurIDUsersFile or do not 122 have a shell ending with sdshell, if the SecurIDUsersFile option 123 is used or is omitted, respectively) to still log in using another 124 authentication method (e.g. PAM or passwd.) 125 .Pp 119 126 .It Cm AllowTcpForwarding 120 127 Specifies whether TCP forwarding is permitted. 121 128 The default is … … 551 558 are refused if the number of unauthenticated connections reaches 552 559 .Dq full 553 560 (60). 561 .It Cm NegateSecurIDUsers 562 Negates the meaning of the SecurIDUsers file. Users in this file 563 will not require SecurID auth, but all others will. 564 The default is 565 .Dq no . 554 566 .It Cm PasswordAuthentication 555 567 Specifies whether password authentication is allowed. 556 568 The default is … … 714 726 The default is 715 727 .Dq yes . 716 728 This option applies to protocol version 1 only. 729 .It Cm SecurIDAuthentication 730 Specifies whether SecurID authentication is allowed. The default 731 is ``yes''. SecurID authentication si enabled in both PAM and 732 PasswordAuthentication modes. 733 .Dq yes . 734 NOTES: After you enter your SecurID passcode, SecurID may choose 735 to ask for the next code on your token. To handle this event 736 without modifying the SSH client, the actual information that 737 sshd is asing for is passed in the debugging messages. If your 738 login attempts fail, try sshing with -v and you can see if it is 739 asking for your passcode or for the next token. 740 .It Cm SecurIDFallBack 741 Specifies whether SecurID user logins will fallback to their 742 to an underlying form (PAM/PaswordAuthentication) is the SecurID 743 server is unavailable or the machine is not configured correctly. 744 .It Cm SecurIDIgnoreShell 745 Specifies whether sshd will respect the ACE server's propsed user 746 shell. The default is ``no''. If yes, then the shell in 747 /etc/passwd will be used instead, eliminating the need for a 748 /path/to/ace/prog/sdshell style shell. This option only makes 749 sense when using the SecurIDUsersFile option. 750 .Dq no . 751 NOTES: If the SecurIDIgnoreShell option is set to ``yes'', then the 752 shell in /etc/passwd will be used in place of the shell proposed 753 by the ACE server -- allowing a user to have different shells on 754 different machines. In conjunction with SecurIDIgnoreShell, this 755 can force sshd to use SecurID while other system authentications 756 use alternative methods without the complication of having sdshell 757 as the user's default shell. 758 .It Cm SecurIDUsersFile 759 The argument a filename that contains usernames that are to be 760 authenticated via SecurID. By default this option is unset and 761 users will only be authenticated if their shell ends with sdshell. 717 762 .It Cm ServerKeyBits 718 763 Defines the number of bits in the ephemeral protocol version 1 server key. 719 764 The minimum value is 512, and the default is 768.
Note: See TracBrowser for help on using the browser.
