30 lines
832 B
Plaintext
30 lines
832 B
Plaintext
|
function zssh_generate_config4
|
||
|
{
|
||
|
ssh_node="$1"
|
||
|
dst="$zssh_private_configs/$ssh_node.sshconf"
|
||
|
srcs="$zssh_global_configs/$ssh_node"
|
||
|
zshlibs_log zssh_client "checking configs for $ssh_node …"
|
||
|
if ! [[ -d "$srcs" ]]
|
||
|
then
|
||
|
zshlibs_log zssh_client "$ssh_node does not have config"
|
||
|
elif ! [[ $dst -nt $srcs ]]
|
||
|
then
|
||
|
sshkey="$zssh_private_keys/$ssh_node.key"
|
||
|
zshlibs_log zssh_client "generating '$dst' with key '$sshkey'"
|
||
|
matched=1
|
||
|
rm "$dst" 2> /dev/null
|
||
|
for src in "$srcs"/*.sshconf(N)
|
||
|
do
|
||
|
matched=0
|
||
|
zshlibs_log zssh_client "sourcing $src"
|
||
|
cat "$src" >> "$dst"
|
||
|
printf "\n IdentityFile %s\n\n" "$sshkey" >> "$dst"
|
||
|
done
|
||
|
if ! [[ $matched ]]
|
||
|
then
|
||
|
zshlibs_log zssh_client "no configs for '$dst'"
|
||
|
fi
|
||
|
fi
|
||
|
zshlibs_log zssh_client "done with $ssh_node"
|
||
|
}
|