Browse Source

change to routeros native script rather than bash multiline commands

Charlie Garrison 6 years ago
parent
commit
0cddc8a154
1 changed files with 17 additions and 23 deletions
  1. 17 23
      deploy/routeros.sh

+ 17 - 23
deploy/routeros.sh

@@ -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
 }