diff --git a/bin/startagent b/bin/startagent index 483515f..cbf77b4 100755 --- a/bin/startagent +++ b/bin/startagent @@ -381,7 +381,18 @@ logdebug "ssh_idendity: ${ssh_identity}" unset SSH_AUTH_SOCK SSH_AGENT_PID PKCS11_MODULE SSH_AGENT_ALLOW_FROM_REMOTE +ssh_agentfile=$(create_agentfilename) +ssh_socketfile=$(create_socketfilename) + set_and_load_identity_config ${ssh_identity} +sed -i -e '/PKCS11_MODULE/d' ${ssh_agentfile} +if [ -n ${PKCS11_MODULE:+x} ] +then + echo "PKCS11_MODULE=${PKCS11_MODULE}; export PKCS11_MODULE" >> ${ssh_agentfile} +fi +[ -e $ssh_agentfile ] && eval $(<${ssh_agentfile}) >/dev/null +logdebug " PKCS11_MODULE=${PKCS11_MODULE:-not set}" + logdebug " SSH_ADD_OPTIONS=${SSH_ADD_OPTIONS:-not set}" logdebug "SSH_AGENT_ALLOW_FROM_REMOTE=${SSH_AGENT_ALLOW_FROM_REMOTE:-false}" logdebug " PKCS11_MODULE=${PKCS11_MODULE:-not set}" @@ -390,10 +401,6 @@ logdebug " SSH_AUTH_SOCK=${SSH_AUTH_SOCK:-not set}" logdebug " SSH_AUTH_SOCK_REMOTE=${SSH_AUTH_SOCK_REMOTE:-not set}" logdebug " ssh_idendity=${ssh_identity}" -ssh_agentfile=$(create_agentfilename) -ssh_socketfile=$(create_socketfilename) - -[ -e $ssh_agentfile ] && eval $(<$ssh_agentfile) >&2 check_and_link_socket logdebug "SSH_AGENT_FILE=${ssh_agentfile}" logdebug " SSH_AGENT_PID=${SSH_AGENT_PID}"