Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 9 Jun 2001 16:27:27 +0200
From:      ruben@verweg.com
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        green@freebsd.org
Subject:   bin/27988: [PATCH] let pam_ssh.so session work (with xdm)
Message-ID:  <20010609162726.A18504@erg.verweg.com>

next in thread | raw e-mail | index | archive | help

>Number:         27988
>Category:       bin
>Synopsis:       [PATCH] let pam_ssh.so explicitly start ssh-agent with bourne
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jun 09 07:30:01 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Ruben van Staveren
>Release:        FreeBSD 4.3-STABLE i386
>Organization:
Verweg dot Com
>Environment:
System: FreeBSD helium.verweg.com 4.3-STABLE FreeBSD 4.3-STABLE #0: Wed May 30 15:17:54 CEST 2001 root@helium.verweg.com:/usr/obj/usr/cvsup/4.0-stable/src/sys/HELIUM  i386



    <machine, os, target, libraries (multiple lines)>
>Description:
    The pam_ssh module has the possibility to start ssh-agent for you,
    making a single logon possible by directly feeding your passphrase into
    the agent (obtained during the authentification phase)

    However, ssh-agent has the habit on my system to present its output
    in C shell format whereas pam_ssh expects it to be in Bourne shell format
    (pam_ssh.c, lines 397-409)

    This does not affect the auth capability, only the session phase.

>How-To-Repeat:

    Use pam_ssh.so as a session and auth module for xdm in /etc/pam.conf
    and observe the contents of the ~/.ssh/agent-* file after logon

    the following syslog messages also apply:

    Jun  9 13:19:47 helium -:0            : pam_ssh: could not connect to agent
    Jun  9 14:45:11 helium -:0            : pam_ssh: /usr/bin/ssh-agent -k exited with status 1

>Fix:

    Instead of tinkering with the parsing, or changing user shells and or the
    way xdm is started, let pam_ssh.so explicitly start ssh-agent to output
    Bourne shell syntax. Here's a patch.


--- src/crypto/openssh/pam_ssh/pam_ssh.c.orig	Sat Jun  9 15:46:44 2001
+++ src/crypto/openssh/pam_ssh/pam_ssh.c	Sat Jun  9 15:46:53 2001
@@ -373,7 +373,7 @@
 	saved_uid = geteuid();
 	(void)seteuid(pwent->pw_uid);
 	env_fp = fopen(env_file, "w");
-	pipe = popen(PATH_SSH_AGENT, "r");
+	pipe = popen(PATH_SSH_AGENT " -s", "r");
 	(void)seteuid(saved_uid);
 	if (!pipe) {
 		syslog(LOG_ERR, "%s: %s: %m", MODULE_NAME, PATH_SSH_AGENT);
>Release-Note:
>Audit-Trail:
>Unformatted:
 >shell

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010609162726.A18504>