aboutsummaryrefslogtreecommitdiffstats
path: root/ssh
diff options
context:
space:
mode:
Diffstat (limited to 'ssh')
l---------ssh1
-rw-r--r--ssh/.gitignore1
-rw-r--r--ssh/Makefile54
-rw-r--r--ssh/bash-aliases24
4 files changed, 79 insertions, 1 deletions
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