change to routeros native script rather than bash multiline commands

This commit is contained in:
Charlie Garrison 2019-05-26 01:32:13 +10:00
parent 57fc5d28a9
commit 0cddc8a154

View File

@ -86,29 +86,23 @@ routeros_deploy() {
_info "Trying to push cert '$_cfullchain' to router"
scp "$_cfullchain" "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST:$_cdomain.cer"
# shellcheck disable=SC2029
ssh "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST" bash -c "'
ssh "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST" "/system script add name=\"LE Cert Deploy - $_cdomain\" owner=admin policy=\
ftp,read,write,password,sensitive source=\"## generated by routeros deploy script in acme.sh \\r\
\n/certificate remove [ find name=$_cdomain.cer_0 ]\\r\
\n/certificate remove [ find name=$_cdomain.cer_1 ]\\r\
\ndelay 1\\r\
\n/certificate import file-name=$_cdomain.cer passphrase=\\\"\\\"\\r\
\n/certificate import file-name=$_cdomain.key passphrase=\\\"\\\"\\r\
\ndelay 1\\r\
\n/file remove $_cdomain.cer\\r\
\n/file remove $_cdomain.key\\r\
\ndelay 2\\r\
\n/ip service set www-ssl certificate=$_cdomain.cer_0\\r\
\n$ROUTER_OS_ADDITIONAL_SERVICES\\r\
\n\"
"
ssh "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST" "/system script run \"LE Cert Deploy - $_cdomain\""
ssh "$ROUTER_OS_USERNAME@$ROUTER_OS_HOST" "/system script remove \"LE Cert Deploy - $_cdomain\""
/certificate remove $_cdomain.cer_0
/certificate remove $_cdomain.cer_1
delay 1
/certificate import file-name=$_cdomain.cer passphrase=\"\"
/certificate import file-name=$_cdomain.key passphrase=\"\"
delay 1
/file remove $_cdomain.cer
/file remove $_cdomain.key
delay 2
/ip service set www-ssl certificate=$_cdomain.cer_0
$ROUTER_OS_ADDITIONAL_SERVICES
'"
return 0
}