print error, when more than one token is plugged in
This commit is contained in:
parent
535c1f28d2
commit
3de3e33333
1 changed files with 25 additions and 17 deletions
|
@ -250,7 +250,7 @@ agent_load_identity_keys () {
|
||||||
|
|
||||||
fingerprints=( $(ssh_runinagent $agentfile "ssh-add -l|awk '{print \$2}'") )
|
fingerprints=( $(ssh_runinagent $agentfile "ssh-add -l|awk '{print \$2}'") )
|
||||||
logdebug "fingerprints from loaded keys before action:"
|
logdebug "fingerprints from loaded keys before action:"
|
||||||
for f in ${fingerprints[*]};do
|
for f in ${fingerprints[@]};do
|
||||||
logdebug "$f"
|
logdebug "$f"
|
||||||
done
|
done
|
||||||
if ! $tokenonly ; then
|
if ! $tokenonly ; then
|
||||||
|
@ -303,25 +303,33 @@ agent_load_identity_keys () {
|
||||||
#[ "$(readlink - f $key)" == "$P11M" ] || key="$P11M"
|
#[ "$(readlink - f $key)" == "$P11M" ] || key="$P11M"
|
||||||
[ "$(readlink -f $key)" != "$P11M" -a "${P11M:-x}" != "x" ] && key="$P11M"
|
[ "$(readlink -f $key)" != "$P11M" -a "${P11M:-x}" != "x" ] && key="$P11M"
|
||||||
logdebug "P11M2: ${P11M:-not set} - key: $key"
|
logdebug "P11M2: ${P11M:-not set} - key: $key"
|
||||||
echo "P11M: ${P11M:-not set} - key: $key"
|
logdebug "P11M: ${P11M:-not set} - key: $key"
|
||||||
|
|
||||||
tokenfingerprint="$(ssh-keygen -l -D $key|tr -s ' '|awk '{print $2}')"
|
tokenfingerprints=($(ssh-keygen -l -D $key|tr -s ' '|awk '{print $2}'))
|
||||||
|
|
||||||
if [[ ${fingerprints[*]} =~ "$tokenfingerprint" ]]; then
|
logtrace "fingerprints: ${fingerprints[*]}"
|
||||||
logdebug "token: $key ($tokenfingerprint) is loaded"
|
logtrace "tokenfingerprints count: ${#tokenfingerprints[@]}"
|
||||||
check_pubkeysonly
|
if [ ${#tokenfingerprints[@]} -gt 1 ]; then
|
||||||
if $readd || $remove ; then
|
logerr "Found ${#tokenfingerprints[@]} in p11-kit-proxy! Check if only one token is plugged into your computer"
|
||||||
$readd && logdebug "re-add token $key"
|
|
||||||
$remove && logdebug "remove token $key"
|
|
||||||
echo agentfile1 $agentfile \$SSH_ADD_OPTIONS $key >&2
|
|
||||||
logdebug "$(ssh_runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} -e "${key}" 2>&1)"
|
|
||||||
ssh_runinagent $agentfile echo $SSH_AUTH_SOCK >&2
|
|
||||||
$remove || logdebug "$(ssh_runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} -s "${key}" 2>&1)"
|
|
||||||
fi
|
|
||||||
else
|
else
|
||||||
logdebug "token: $key is not loaded -> load it"
|
tokenfingerprint=${tokenfingerprints[0]}
|
||||||
logdebug "$(ssh_runinagent $agentfile ssh-add -v ${SSH_ADD_OPTIONS} -e ${key} 2>&1)"
|
logtrace "tokenfingerprint: ${tokenfingerprint}"
|
||||||
$remove || logdebug "$(ssh_runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} -s ${key} 2>&1)"
|
if [[ "${fingerprints[@]}" =~ "$tokenfingerprint" ]]; then
|
||||||
|
logdebug "token: $key ($tokenfingerprint) is loaded"
|
||||||
|
check_pubkeysonly
|
||||||
|
if $readd || $remove ; then
|
||||||
|
$readd && logdebug "re-add token $key"
|
||||||
|
$remove && logdebug "remove token $key"
|
||||||
|
echo agentfile1 $agentfile \$SSH_ADD_OPTIONS $key >&2
|
||||||
|
logdebug "$(ssh_runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} -e "${key}" 2>&1)"
|
||||||
|
ssh_runinagent $agentfile echo $SSH_AUTH_SOCK >&2
|
||||||
|
$remove || logdebug "$(ssh_runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} -s "${key}" 2>&1)"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
logdebug "token: $key is not loaded -> load it"
|
||||||
|
logdebug "$(ssh_runinagent $agentfile ssh-add -v ${SSH_ADD_OPTIONS} -e ${key} 2>&1)"
|
||||||
|
$remove || logdebug "$(ssh_runinagent $agentfile ssh-add ${SSH_ADD_OPTIONS} -s ${key} 2>&1)"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue