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

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

>Number:         34045
>Category:       bin
>Synopsis:       [PATCH] let pam_ssh.so explicitly start ssh-agent with bourne shell syntax
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan 18 12:30:01 PST 2002
>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


	
>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 wi

>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:

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?200106091419.f59EJpk09293>