}
# remove all lines with specified string from specified file
-remove_file_line() {
+remove_line() {
local file
local string
key="$2"
echo -n "$key" | tr -d '\n'
- echo " MonkeySphere${DATE}: ${userID}"
+ echo " MonkeySphere${DATE} ${userID}"
}
# convert key from gpg to ssh known_hosts format
# following regexp:
# '^MonkeySphere[[:digit:]]{4}(-[[:digit:]]{2}){2}T[[:digit:]]{2}(:[[:digit:]]{2}){2}$'
gpg2ssh "$keyID" | tr -d '\n'
- echo " MonkeySphere${DATE}: ${userID}"
+ echo " MonkeySphere${DATE} ${userID}"
}
### GPG UTILITIES
# remove user ID from file
log -n " removing user ID '$userID'... "
- remove_file_line "$AUTHORIZED_USER_IDS" "^${userID}$"
+ remove_line "$AUTHORIZED_USER_IDS" "^${userID}$"
loge "done."
}
while read -r ok keyid ; do
sshKey=$(gpg2ssh "$keyid")
# remove the old host key line
- remove_file_line "$KNOWN_HOSTS" "$sshKey"
+ remove_line "$KNOWN_HOSTS" "$sshKey"
# if key OK, add new host line
if [ "$ok" -eq '0' ] ; then
# hash if specified
while read -r ok keyid ; do
sshKey=$(gpg2ssh "$keyid")
# remove the old host key line
- remove_file_line "$AUTHORIZED_KEYS" "$sshKey"
+ remove_line "$AUTHORIZED_KEYS" "$sshKey"
# if key OK, add new host line
if [ "$ok" -eq '0' ] ; then
ssh2authorized_keys "$userID" "$sshKey" >> "$AUTHORIZED_KEYS"
comment="$key"
fi
- if echo "$comment" | egrep -v -q '^MonkeySphere[[:digit:]]{4}(-[[:digit:]]{2}){2}T[[:digit:]]{2}(:[[:digit:]]{2}){2}:' ; then
+ if echo "$comment" | egrep -v -q '^MonkeySphere[[:digit:]]{4}(-[[:digit:]]{2}){2}T[[:digit:]]{2}(:[[:digit:]]{2}){2}' ; then
continue
fi
userID=$(echo "$comment" | awk "{ print $2 }")