diff options
Diffstat (limited to 'ssh')
l--------- | ssh | 1 | ||||
-rw-r--r-- | ssh/.gitignore | 1 | ||||
-rw-r--r-- | ssh/Makefile | 54 | ||||
-rw-r--r-- | ssh/bash-aliases | 24 |
4 files changed, 79 insertions, 1 deletions
@@ -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 |