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 | 
