From 0f1df0db903ba576fd17b08197d3066af7a61e5f Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sat, 18 Nov 2023 23:23:40 +0100 Subject: A lot of changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- ssh | 1 - ssh/.gitignore | 1 + ssh/Makefile | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ ssh/bash-aliases | 24 ++++++++++++++++++++++++ 4 files changed, 79 insertions(+), 1 deletion(-) delete mode 120000 ssh create mode 100644 ssh/.gitignore create mode 100644 ssh/Makefile create mode 100644 ssh/bash-aliases (limited to 'ssh') diff --git a/ssh b/ssh deleted file mode 120000 index dc275a7..0000000 --- a/ssh +++ /dev/null @@ -1 +0,0 @@ -openssh \ No newline at end of file diff --git a/ssh/.gitignore b/ssh/.gitignore new file mode 100644 index 0000000..9942bb7 --- /dev/null +++ b/ssh/.gitignore @@ -0,0 +1 @@ +.ssh-config diff --git a/ssh/Makefile b/ssh/Makefile new file mode 100644 index 0000000..b16f051 --- /dev/null +++ b/ssh/Makefile @@ -0,0 +1,54 @@ +.POSIX: + +install: + -rm -f -- .ssh-config + test ! -e .ssh-config && test ! -L .ssh-config + printf '# %s\n' 'THIS FILE IS GENERATED from ~/.dotfiles/ssh/Makefile' \ + '!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!' > .ssh-config + printf '\n\n' >> .ssh-config + if test -f config; then \ + cat config >> .ssh-config; \ + fi + set config.d/* && if test -f "$$1"; then \ + ../cat-nonbackups -- "$$@" >> .ssh-config; \ + fi + if test -f ../.secrets/ssh/config; then \ + cat ../.secrets/ssh/config >> .ssh-config; \ + fi + set ../.secrets/ssh/config.d/* && if test -f "$$1"; then \ + ../cat-nonbackups "$$@" >> .ssh-config; \ + fi + if test -f ../.work/ssh/config; then \ + cat ../.work/ssh/config >> .ssh-config; \ + fi + set ../.work/ssh/config.d/* && if test -f "$$1"; then \ + ../cat-nonbackups "$$@" >> .ssh-config; \ + fi + mkdir -p -- ~/.ssh + test ! -e ~/.ssh/config || test -L ~/.ssh/config + test ! -e ~/.ssh/config || test -f ~/.ssh/config + ln -sf -- ~/.dotfiles/ssh/.ssh-config ~/.ssh/config + set ~/.dotfiles/.secrets/ssh/keys/* && if test -f "$$1"; then \ + ln -sf -- "$$@" ~/.ssh/; \ + fi + set ~/.dotfiles/.work/ssh/keys/* && if test -f "$$1"; then \ + ln -sf -- "$$@" ~/.ssh/; \ + fi + mkdir -p -- ~/.config/bash/aliases.d + test ! -e ~/.config/bash/aliases.d/openssh || test -L ~/.config/bash/aliases.d/openssh + ln -sf -- ~/.dotfiles/openssh/bash-aliases ~/.config/bash/aliases.d/openssh + +uninstall: + +! ../check-installed ssh + +! ../check-installed openssh + -unlink -- ~/.ssh/config + -unlink -- ~/.ssh/known_hosts + -unlink -- ~/.ssh/known_hosts.old + -cd ../.work/ssh/keys/ && set * && if test -f "$$1"; then \ + cd ~/.ssh/ && \ + rm -f -- "$$@"; \ + fi + -rmdir -- ~/.ssh + -rm -f -- .ssh-config + -unlink -- ~/.config/bash/aliases.d/openssh + -rmdir -- ~/.config/bash/aliases.d diff --git a/ssh/bash-aliases b/ssh/bash-aliases new file mode 100644 index 0000000..d145aee --- /dev/null +++ b/ssh/bash-aliases @@ -0,0 +1,24 @@ +# -*- shell-script -*- + +__gethomename () { + if ping -c1 -W0.2 zenith >/dev/null 2>/dev/null; then + printf '%s\n' zenith + else + printf '%s\n' home + fi +} + +sshhome () { + if test -n "$DISPLAY"; then + ssh -YC "$(__gethomename)" + else + ssh "$(__gethomename)" + fi +} + +sftphome () { + sftp "$(__gethomename)" +} + +alias sshz=sshhome +alias sftpz=sftphome -- cgit v1.2.3-70-g09d2