Re: GSSAPI logins into OpenSSH combined with auto-obtaining AFS tokens
On 7/10/07, Rogier Krieger [EMAIL PROTECTED] wrote: If my clients (MIT KfW, SecureCRT) attempt GSSAPI authentication, [...] OpenSSH does not obtain any AFS token, forcing me to run afslog manually. Or put such a command in /etc/ssh/sshrc, as hinted at in sshd(8). This seems to work in that it provides me with tickets/tokens for both the Kerberos and GSSAPI cases. The above seems a bit of a workaround, but I can live with that. I'll see if I can reproduce this on my 4.1 boxes. If so, I'll report back to the OpenSSH list, since it strikes me as odd that a session would do different things (whether or not to obtain an AFS token) based on how the Krb5 TGT was obtained (password verification or transferred by GSSAPI). Cheers, Rogier -- If you don't know where you're going, any road will get you there.
GSSAPI logins into OpenSSH combined with auto-obtaining AFS tokens
Dear list, While fiddling around to move my home directories onto AFS, I notice a bit of interesting behaviour. At a first glance, everything seems just fine. When logging in through the Krb5 mechanism (as defined in login.conf), OpenSSH nicely obtains an AFS token for me. Use case: Windows SSH client entering a username/password upon connecting. The following scenario, however, does not get me AFS tickets in my shell: obtaining Krb5 credentials on the client and logging into OpenSSH through GSSAPI. Although logging in seems to have nicely transfered my Krb5 ticket, OpenSSH does not obtain an AFS token for me. Running afslog manually fixes this, but I would greatly prefer to have afslog run automatically. Browsing the archives, I gather GSSAPI and Kerberos are treated differently, but I cannot distill a solution from the results. Is there any? I'm presently thinking of ways to get 'afslog' to run after the GSSAPI login is completed. Would the 'approve' stanza in login.conf and a small work for this purpose? Reading the manual, I do get the feeling approve wasn't meant for this sort of thing, but I figured to best ask here for some good advice. Insight or a good cluebat are most appreciated. I'm thinking along the lines of: (in /etc/login.conf) :approve=/usr/local/bin/auto-afslog:\ :approve-ftp=/usr/local/bin/auto-afslog:\ (for the script) #!/bin/sh AFSLOG=/usr/bin/afslog ${AFSLOG} -p ${HOME} For a ${HOME} based in AFS filespace. If ${HOME} were to be outside AFS file space, I wouldn't mind the login to fail, since that would be a worthwhile incident to investigate. Cheers, Rogier -- If you don't know where you're going, any road will get you there.
Re: GSSAPI logins into OpenSSH combined with auto-obtaining AFS tokens
Rogier Krieger wrote: While fiddling around to move my home directories onto AFS, I notice a bit of interesting behaviour. At a first glance, everything seems just fine. When logging in through the Krb5 mechanism (as defined in login.conf), OpenSSH nicely obtains an AFS token for me. Use case: Windows SSH client entering a username/password upon connecting. The following scenario, however, does not get me AFS tickets in my shell: obtaining Krb5 credentials on the client and logging into OpenSSH through GSSAPI. Although logging in seems to have nicely transfered my Krb5 ticket, OpenSSH does not obtain an AFS token for me. Running afslog manually fixes this, but I would greatly prefer to have afslog run automatically. Do you have KerberosGetAFSToken yes in sshd_config? KerberosGetAFSToken If AFS is active and the user has a Kerberos 5 TGT, attempt to acquire an AFS token before accessing the user's home directory. The default is ``no''. -- Darren Tucker (dtucker at zip.com.au) GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4 37C9 C982 80C7 8FF4 FA69 Good judgement comes with experience. Unfortunately, the experience usually comes from bad judgement.
Re: GSSAPI logins into OpenSSH combined with auto-obtaining AFS tokens
As someone kind made me realise in an off-list reply, I should have included my sshd_config on the machine in question. I should further note that it is a 3.9-stable machine (although I did not spot changes relating to the OpenSSH behaviour regarding GSSAPI for the versions included with 4.0/4.1). The following parameters differ from the stock sshd_config (the complete file is at the bottom of this message): KerberosAuthentication yes KerberosGetAFSToken yes GSSAPIAuthentication yes X11Forwarding yes The above lines allow me to enter a username/password combination to login (after which OpenSSH properly obtains the AFS tokens for me). As I said, this bit works nicely. If my clients (MIT KfW, SecureCRT) attempt GSSAPI authentication, OpenSSH properly obtains the Krb5 TGT (with the same end time as the one listed in my MIT KfW) and lets me login. In the GSSAPI case, however, OpenSSH does not obtain any AFS token, forcing me to run afslog manually. Hence my original question: can/should I use login.conf(5)'s 'approve' stanza and a special script to run the afslog for me to get my AFS tokens in order for the GSSAPI case? Cheers, Rogier # cat /etc/ssh/sshd_config # $OpenBSD: sshd_config,v 1.73 2005/12/06 22:38:28 reyk Exp $ # This is the sshd server system-wide configuration file. See # sshd_config(5) for more information. # The strategy used for options in the default sshd_config shipped with # OpenSSH is to specify options with their default value where # possible, but leave them commented. Uncommented options change a # default value. #Port 22 #Protocol 2,1 #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress :: # HostKey for protocol version 1 #HostKey /etc/ssh/ssh_host_key # HostKeys for protocol version 2 #HostKey /etc/ssh/ssh_host_rsa_key #HostKey /etc/ssh/ssh_host_dsa_key # Lifetime and size of ephemeral version 1 server key #KeyRegenerationInterval 1h #ServerKeyBits 768 # Logging # obsoletes QuietMode and FascistLogging #SyslogFacility AUTH #LogLevel INFO # Authentication: #LoginGraceTime 2m #PermitRootLogin yes PermitRootLogin without-password #StrictModes yes #MaxAuthTries 6 #RSAAuthentication yes #PubkeyAuthentication yes #AuthorizedKeysFile .ssh/authorized_keys # For this to work you will also need host keys in /etc/ssh/ssh_known_hosts #RhostsRSAAuthentication no # similar for protocol version 2 #HostbasedAuthentication no # Change to yes if you don't trust ~/.ssh/known_hosts for # RhostsRSAAuthentication and HostbasedAuthentication #IgnoreUserKnownHosts no # Don't read the user's ~/.rhosts and ~/.shosts files #IgnoreRhosts yes # To disable tunneled clear text passwords, change to no here! #PasswordAuthentication yes #PermitEmptyPasswords no # Change to no to disable s/key passwords #ChallengeResponseAuthentication yes # Kerberos options #KerberosAuthentication no #KerberosOrLocalPasswd yes #KerberosTicketCleanup yes #KerberosGetAFSToken no KerberosAuthentication yes #KerberosOrLocalPasswd no KerberosGetAFSToken yes # GSSAPI options GSSAPIAuthentication yes #GSSAPIAuthentication no #GSSAPICleanupCredentials yes #AllowTcpForwarding yes #GatewayPorts no #X11Forwarding no X11Forwarding yes #X11DisplayOffset 10 #X11UseLocalhost yes #PrintMotd yes #PrintLastLog yes #TCPKeepAlive yes #UseLogin no #UsePrivilegeSeparation yes #PermitUserEnvironment no #Compression delayed #ClientAliveInterval 0 #ClientAliveCountMax 3 #UseDNS yes #PidFile /var/run/sshd.pid #MaxStartups 10 #PermitTunnel no # no default banner path #Banner /some/path # override default of no subsystems Subsystem sftp/usr/libexec/sftp-server -- If you don't know where you're going, any road will get you there.