From 5cb8fc0c2a8a3f9ffa3cb4d376075c1217eb6d8c Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Mon, 15 May 2023 21:27:47 -0400 Subject: [PATCH] fix ssh issue, various minor improvements --- brc | 11 +++++++ brc2 | 8 +++-- filesystem/etc/profile.d/environment.sh | 44 ++++++++++++++----------- mail-setup | 14 ++++---- 4 files changed, 49 insertions(+), 28 deletions(-) diff --git a/brc b/brc index d17c1a1..85583fe 100644 --- a/brc +++ b/brc @@ -1109,6 +1109,17 @@ econfdev() { update-exim4.conf -d /tmp/edev/etc/exim4 -o /tmp/edev/e.conf } +# exim grep in +# show important information about incoming mail in the exim log +egrin() { + sed -rn '/testignore|jtuttle|eximbackup/!s/^[^ ]+ ([^ ]+) [^ ]+ [^ ]+ <= ([^ ]+).*T="(.*)" from (<[^ ]+> .*$)/\1 \4\n \3/p' <${1:-/var/log/exim4/mainlog} +} + +# 2nd line is message-id: +egrinid() { + sed -rn '/testignore|jtuttle|eximbackup/!s/^[^ ]+ ([^ ]+) [^ ]+ [^ ]+ <= ([^ ]+).* id=([^ ]+) T="(.*)" from (<[^ ]+> .*$)/\1 \5\n \3\n \4/p' <${1:-/var/log/exim4/mainlog} +} + diff --git a/brc2 b/brc2 index 7f6011f..1add823 100644 --- a/brc2 +++ b/brc2 @@ -412,7 +412,7 @@ iki() { *) url=$(readlink -f "$input") url="https://brains.fsf.org/wiki/${url#*brains/}" - url="${url%.mdwn}" + url="${url%.mdwn}/" j echo "$url" ;; esac @@ -1123,6 +1123,8 @@ beet2nav() { # pull in beets library locally beetpull() { + local sshfs_host + sshfs_host=b8.nz if [[ $HOSTNAME == kd ]]; then return 0 fi @@ -1131,7 +1133,7 @@ beetpull() { s chown iank:iank /i fi if ! mountpoint /i &>/dev/null; then - m sshfs b8.nz:/i /i + m sshfs $sshfs_host:/i /i fi } @@ -1445,7 +1447,7 @@ sm() { # switch mail host c / # run latest keyhash=$(s ssh-keygen -lf /root/.ssh/home | awk '{print $2}') - tmp=$(s ssh-add -l | awk '$2 == "'$keyhash'"') + tmp=$(s ssh-add -l | awk '$2 == "'$keyhash'"' ||:) if [[ ! $tmp ]]; then s ssh-add /root/.ssh/home fi diff --git a/filesystem/etc/profile.d/environment.sh b/filesystem/etc/profile.d/environment.sh index 42513fa..6191cb7 100644 --- a/filesystem/etc/profile.d/environment.sh +++ b/filesystem/etc/profile.d/environment.sh @@ -99,7 +99,7 @@ fi # if systemctl --user show-environment >$_sysenv 2>/dev/null; then # grep -o '^[^=]*' $_sysenv | sort > $_sysenvnames # env -0 | grep -zo '^[^=]*' | xargs -0 printf "%s\n" | sort | \ -# comm --nocheck-order -13 - $_sysenvnames >$_unsetnames + # comm --nocheck-order -13 - $_sysenvnames >$_unsetnames # while read -r unsetname; do # while read -r sysenv; do # case "$sysenv" in @@ -111,27 +111,33 @@ fi # fi # fi -# and it seems that if we log into mate, it screws up the systemd env var anyways. -for _file in $(pgrep -a '^ssh-agent$' | sed -r 's/.*-a *([^ ]+).*/\1/'); do - if test -O "$_file"; then - export SSH_AUTH_SOCK="$_file" - break - fi -done - -# in t11, user ssh-agent once again stopped working, it isn't started anymore -# by i3. So, enough is enough, I just made a service that will try to -# start it all the time for the user. If the var isn't set by the above, -# just set them to the values I know are in the service. -if ! test "$SSH_AUTH_SOCK"; then - if [ "$EUID" = 0 ]; then - export SSH_AUTH_SOCK=/run/openssh_agent - elif [ "$EUID" = 1000 ]; then - export SSH_AUTH_SOCK=$HOME/openssh_agent + +# i use the x11 prompt for ssh key use which doesnt work +# within an ssh session (perhaps there is some way). +# Anyways, there is usually no need for an agent to +# do a 1-off ssh from a remote machine. +if ! test "$SSH_CLIENT"; then + # and it seems that if we log into mate, it screws up the systemd env var anyways. + for _file in $(pgrep -a '^ssh-agent$' | sed -r 's/.*-a *([^ ]+).*/\1/'); do + if test -O "$_file"; then + export SSH_AUTH_SOCK="$_file" + break + fi + done + + # in t11, user ssh-agent once again stopped working, it isn't started anymore + # by i3. So, enough is enough, I just made a service that will try to + # start it all the time for the user. If the var isn't set by the above, + # just set them to the values I know are in the service. + if ! test "$SSH_AUTH_SOCK"; then + if [ "$EUID" = 0 ]; then + export SSH_AUTH_SOCK=/run/openssh_agent + elif [ "$EUID" = 1000 ]; then + export SSH_AUTH_SOCK=$HOME/openssh_agent + fi fi fi - # background: # ubuntu has 002 for non-system users, debian has 022. 002 makes groups # be rw instead of r. diff --git a/mail-setup b/mail-setup index cfe5575..e7020d7 100755 --- a/mail-setup +++ b/mail-setup @@ -4,12 +4,17 @@ # SPDX-License-Identifier: AGPL-3.0-or-later # Things I tend to forget. on MAIL_HOST, daemon runs with /etc/exim4/my.conf, -# which gets generated from update-exim4.conf -d /etc/myexim4 +# due to /etc/default/exim4 containing: +# COMMONOPTIONS='-C /etc/exim4/my.conf' +# UPEX4OPTS='-o /etc/exim4/my.conf' +# +# The non-daemon config +# gets generated from this script calling update-exim4.conf -d /etc/myexim4 # which has log path # log_file_path = /var/log/exim4/my%s # -# so, normal mainlog is non-daemon, which delivers to the daemon. - +# eximbackup folder is /bu/md +# it is cleaned up by mail-backup-clean, which is run by btrbk-run # shellcheck disable=SC2254 # makes for a lot of unneeded quotes @@ -3337,7 +3342,6 @@ sentarchive: unseen EOF - u /etc/myexim4/conf.d/router/160_backup_redir <<'EOF' backup_redir: driver = redirect @@ -3354,8 +3358,6 @@ unseen = true errors_to = alerts@iankelling.org EOF - - # for bk, we have a exim4in.service that will do this for us. m update-exim4.conf -d /etc/myexim4 ;; -- 2.30.2