acme.sh setzt keine script-eigenen ssh-Befehle ab

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

*kw*

Benutzer
Contributor
Sehr erfahren
Maintainer
Registriert
10. Aug. 2013
Beiträge
3.936
Reaktionspunkte
2.285
Punkte
269
Ich wollte das nicht noch ins andere Thema rein quetschen. Ich habe dem ganzen jetzt technisch zwei Tage Ruhe gegeben und wollte "frisch" an Werk gehen.

Wenn ich aktuell im acme-Terminal allein nur den Befehl acme.sh --set-default-ca --server letsencrypt absetzen möchte, bleibt der Cursor blinkend stehen, aber es kommt keine Antwort.

Kann das jemand nachvollziehen?

PS: bspw. ein nslookup geht aber
PPS: container auch schon neu eingehängt
 
Habe acme.sh noch mal neu installiert, Fehler hält an. Zu beobachten, dass währden des Cursor-Blinkes die CPU-Last ansteigt. Sobald ich mit ^C abbreche > Prompt erscheint, senkt sie sich wieder.
 
Lass mal "--server letsencrypt" weg, damit man sieht, ob er an die richtige Stelle kommt.

Code:
...
#set default ca to $ACME_DIRECTORY
setdefaultca() {
  if [ -z "$ACME_DIRECTORY" ]; then
    _err "Please give a --server parameter."
    return 1
  fi
  _saveaccountconf "DEFAULT_ACME_SERVER" "$ACME_DIRECTORY"
  _info "Changed default CA to: $(__green "$ACME_DIRECTORY")"
}
...

Gehen andere acme.sh-Befehle wie "--version" oder "--help"?
Es könnte auch sein, dass das Script versucht, sich selbst zu aktualisieren, aber nicht ins Internet kommt.
 
Nein, geht auch nicht. Auch der Tipp von der acme-Seite mit dem Parameter --upgrade klappt nicht.
 
und nur "acme.sh" (ohne Parameter) geht auch nicht? Da kommt normalerweise die Hilfe.
 
Nein, gar nix.
 
Hab mal meinen Sohn gefragt, der ist absoluter Linux-Freak. Er hat zwar die Nase gerümpft über die magere (Debug-)Umgebung aber empfohlen mal folgenden Befehl abzusetzen.
Code:
sh -x /usr/local/bin/acme.sh --version
Damit sieht man jeden einzelnen Befehl, der ausgeführt wird und sieht vielleicht, wo er hängen bleibt.
 
Ein Haufen Zeug... ;)

Code:
+ VER=3.0.8                                                                     
+ PROJECT_NAME=acme.sh                                                           
+ PROJECT_ENTRY=acme.sh                                                         
+ PROJECT=https://github.com/acmesh-official/acme.sh                             
+ DEFAULT_INSTALL_HOME=/root/.acme.sh                                           
+ _WINDOWS_SCHEDULER_NAME=acme.sh.cron                                           
+ _SCRIPT_=/usr/local/bin/acme.sh                                               
+ _SUB_FOLDER_NOTIFY=notify                                                     
+ _SUB_FOLDER_DNSAPI=dnsapi                                                     
+ _SUB_FOLDER_DEPLOY=deploy                                                     
+ _SUB_FOLDERS='dnsapi deploy notify'                                           
+ CA_LETSENCRYPT_V2=https://acme-v02.api.letsencrypt.org/directory               
+ CA_LETSENCRYPT_V2_TEST=https://acme-staging-v02.api.letsencrypt.org/directory 
+ CA_BUYPASS=https://api.buypass.com/acme/directory                             
+ CA_BUYPASS_TEST=https://api.test4.buypass.no/acme/directory                   
+ CA_ZEROSSL=https://acme.zerossl.com/v2/DV90                                   
+ _ZERO_EAB_ENDPOINT=https://api.zerossl.com/acme/eab-credentials-email         
+ CA_SSLCOM_RSA=https://acme.ssl.com/sslcom-dv-rsa                               
+ CA_SSLCOM_ECC=https://acme.ssl.com/sslcom-dv-ecc                               
+ CA_GOOGLE=https://dv.acme-v02.api.pki.goog/directory                           
+ CA_GOOGLE_TEST=https://dv.acme-v02.test-api.pki.goog/directory                 
+ DEFAULT_CA=https://acme.zerossl.com/v2/DV90                                   
+ DEFAULT_STAGING_CA=https://acme-staging-v02.api.letsencrypt.org/directory     
+ CA_NAMES='                                                                     
ZeroSSL.com,zerossl                                                             
LetsEncrypt.org,letsencrypt
LetsEncrypt.org_test,letsencrypt_test,letsencrypttest                           
BuyPass.com,buypass                                                             
BuyPass.com_test,buypass_test,buypasstest                                       
SSL.com,sslcom                                                                   
Google.com,google                                                               
Google.com_test,googletest,google_test                                           
'                                                                               
+ CA_SERVERS=https://acme.zerossl.com/v2/DV90,https://acme-v02.api.letsencrypt.or
g/directory,https://acme-staging-v02.api.letsencrypt.org/directory,https://api.bu
ypass.com/acme/directory,https://api.test4.buypass.no/acme/directory,https://acme
.ssl.com/sslcom-dv-rsa,https://dv.acme-v02.api.pki.goog/directory,https://dv.acme
-v02.test-api.pki.goog/directory                                                 
+ DEFAULT_USER_AGENT='acme.sh/3.0.8 (https://github.com/acmesh-official/acme.sh)'
+ DEFAULT_ACCOUNT_KEY_LENGTH=ec-256                                             
+ DEFAULT_DOMAIN_KEY_LENGTH=ec-256                                               
+ DEFAULT_OPENSSL_BIN=openssl                                                   
+ VTYPE_HTTP=http-01                                                             
+ VTYPE_DNS=dns-01                                                               
+ VTYPE_ALPN=tls-alpn-01                                                         
+ ID_TYPE_DNS=dns
VTYPE_ALPN=tls-alpn-01                                                         
+ ID_TYPE_DNS=dns                                                               
+ ID_TYPE_IP=ip                                                                 
+ LOCAL_ANY_ADDRESS=0.0.0.0                                                     
+ DEFAULT_RENEW=60                                                               
+ NO_VALUE=no                                                                   
+ W_DNS=dns                                                                     
+ W_ALPN=alpn                                                                   
+ DNS_ALIAS_PREFIX='='                                                           
+ MODE_STATELESS=stateless                                                       
+ STATE_VERIFIED=verified_ok                                                     
+ NGINX=nginx:                                                                   
+ NGINX_START='#ACME_NGINX_START'                                               
+ NGINX_END='#ACME_NGINX_END'                                                   
+ BEGIN_CSR='-----BEGIN [NEW ]\{0,4\}CERTIFICATE REQUEST-----'                   
+ END_CSR='-----END [NEW ]\{0,4\}CERTIFICATE REQUEST-----'                       
+ BEGIN_CERT='-----BEGIN CERTIFICATE-----'                                       
+ END_CERT='-----END CERTIFICATE-----'                                           
+ CONTENT_TYPE_JSON=application/jose+json                                       
+ RENEW_SKIP=2                                                                   
+ CODE_DNS_MANUAL=3                                                             
+ B64CONF_START=__ACME_BASE64__START_
B64CONF_END=__ACME_BASE64__END_                                               
+ ECC_SEP=_                                                                     
+ ECC_SUFFIX=_ecc                                                               
+ LOG_LEVEL_1=1                                                                 
+ LOG_LEVEL_2=2                                                                 
+ LOG_LEVEL_3=3                                                                 
+ DEFAULT_LOG_LEVEL=2                                                           
+ DEBUG_LEVEL_1=1                                                               
+ DEBUG_LEVEL_2=2                                                               
+ DEBUG_LEVEL_3=3                                                               
+ DEBUG_LEVEL_DEFAULT=2                                                         
+ DEBUG_LEVEL_NONE=0                                                             
+ DOH_CLOUDFLARE=1                                                               
+ DOH_GOOGLE=2                                                                   
+ DOH_ALI=3                                                                     
+ DOH_DP=4                                                                       
+ HIDDEN_VALUE='[hidden](please add '"'"'--output-insecure'"'"' to see this value
)'                                                                               
+ SYSLOG_ERROR=user.error                                                       
+ SYSLOG_INFO=user.info
YSLOG_DEBUG=user.debug                                                       
+ SYSLOG_LEVEL_ERROR=3                                                           
+ SYSLOG_LEVEL_INFO=6                                                           
+ SYSLOG_LEVEL_DEBUG=7                                                           
+ SYSLOG_LEVEL_DEBUG_2=8                                                         
+ SYSLOG_LEVEL_DEBUG_3=9                                                         
+ SYSLOG_LEVEL_DEFAULT=3                                                         
+ SYSLOG_LEVEL_NONE=0                                                           
+ NOTIFY_LEVEL_DISABLE=0                                                         
+ NOTIFY_LEVEL_ERROR=1                                                           
+ NOTIFY_LEVEL_RENEW=2                                                           
+ NOTIFY_LEVEL_SKIP=3                                                           
+ NOTIFY_LEVEL_DEFAULT=2                                                         
+ NOTIFY_MODE_BULK=0                                                             
+ NOTIFY_MODE_CERT=1                                                             
+ NOTIFY_MODE_DEFAULT=0                                                         
+ _BASE64_ENCODED_CFGS='Le_PreHook Le_PostHook Le_RenewHook Le_Preferred_Chain Le
_ReloadCmd'                                                                     
+ _DEBUG_WIKI=https://github.com/acmesh-official/acme.sh/wiki/How-to-debug-acme.s
h
PREPARE_LINK=https://github.com/acmesh-official/acme.sh/wiki/Install-preparati
ons                                                                             
+ _STATELESS_WIKI=https://github.com/acmesh-official/acme.sh/wiki/Stateless-Mode
+ _DNS_ALIAS_WIKI=https://github.com/acmesh-official/acme.sh/wiki/DNS-alias-mode
+ _DNS_MANUAL_WIKI=https://github.com/acmesh-official/acme.sh/wiki/dns-manual-mod
e                                                                               
+ _DNS_API_WIKI=https://github.com/acmesh-official/acme.sh/wiki/dnsapi           
+ _NOTIFY_WIKI=https://github.com/acmesh-official/acme.sh/wiki/notify           
+ _SUDO_WIKI=https://github.com/acmesh-official/acme.sh/wiki/sudo               
+ _REVOKE_WIKI=https://github.com/acmesh-official/acme.sh/wiki/revokecert       
+ _ZEROSSL_WIKI=https://github.com/acmesh-official/acme.sh/wiki/ZeroSSL.com-CA   
+ _SSLCOM_WIKI=https://github.com/acmesh-official/acme.sh/wiki/SSL.com-CA       
+ _SERVER_WIKI=https://github.com/acmesh-official/acme.sh/wiki/Server           
+ _PREFERRED_CHAIN_WIKI=https://github.com/acmesh-official/acme.sh/wiki/Preferred
-Chain                                                                           
+ _VALIDITY_WIKI=https://github.com/acmesh-official/acme.sh/wiki/Validity       
+ _DNSCHECK_WIKI=https://github.com/acmesh-official/acme.sh/wiki/dnscheck       
+ _DNS_MANUAL_ERR='The dns manual mode can not renew automatically, you must issu
e it again manually. You'"'"'d better use the other modes instead.'             
+ _DNS_MANUAL_WARN='It seems that you are using dns manual mode. please take care
: The dns manual mode can not renew automatically, you must issue it again manual
ly. You'"'"'d better use the other modes instead.'                               
+ _DNS_MANUAL_ERROR='It seems that you are using dns manual mode. Read this link
first: https://github.com/acmesh-official/acme.sh/wiki/dns-manual-mode'         
+ __INTERACTIVE=
+ '[' -t 1 ]                                                                     
+ __INTERACTIVE=1                                                               
+ _URGLY_PRINTF=                                                                 
+ printf '\x41'                                                                 
+ '[' A '!=' A ]                                                                 
+ _ESCAPE_XARGS=                                                                 
+ _exists xargs                                                                 
+ cmd=xargs                                                                     
+ '[' -z xargs ]                                                                 
+ eval type type                                                                 
+ eval type xargs                                                               
+ ret=0                                                                         
+ _debug3 'xargs exists=0'                                                       
+ '[' 2 -ge 3 ]                                                                 
+ '[' 0 -ge 9 ]                                                                 
+ '[' 0 -ge 3 ]                                                                 
+ return 0                                                                       
+ printf '%s' '\\x41'                                                           
+ xargs printf                                                                   
+ '[' A '=' A ]
+ _ESCAPE_XARGS=1                                                               
+ echo abc                                                                       
+ egrep -o b                                                                     
+ '[' b '=' b ]                                                                 
+ __USE_EGREP=1                                                                 
+ main --version                                                                 
+ '[' -z --version ]                                                             
+ _startswith --version -                                                       
+ _str=--version                                                                 
+ _sub=-                                                                         
+ echo --version                                                                 
+ grep -- ^-                                                                     
+ _process --version                                                             
+ _CMD=                                                                         
+ _domain=                                                                       
+ _altdomains=no                                                                 
+ _webroot=                                                                     
+ _challenge_alias=                                                             
+ _keylength=ec-256                                                             
+ _accountkeylength
+ _accountkeylength=ec-256                                                       
+ _cert_file=                                                                   
+ _key_file=                                                                     
+ _ca_file=                                                                     
+ _fullchain_file=                                                               
+ _reloadcmd=                                                                   
+ _password=                                                                     
+ _accountconf=                                                                 
+ _useragent=                                                                   
+ _accountemail=                                                                 
+ _accountkey=                                                                   
+ _certhome=                                                                     
+ _confighome=                                                                   
+ _httpport=                                                                     
+ _tlsport=                                                                     
+ _dnssleep=                                                                     
+ _listraw=                                                                     
+ _stopRenewOnError=                                                             
+ _ca_bundle=                                                                   
+ _ca_path=                                                                     
+ _nocron=                                                                       
+ _noprofile=                                                                   
+ _ecc=                                                                         
+ _csr=                                                                         
+ _pre_hook=                                                                     
+ _post_hook
+ _renew_hook=                                                                   
+ _deploy_hook=                                                                 
+ _logfile=                                                                     
+ _log=                                                                         
+ _local_address=                                                               
+ _log_level=                                                                   
+ _auto_upgrade=                                                                 
+ _listen_v4=                                                                   
+ _listen_v6=                                                                   
+ _openssl_bin=                                                                 
+ _syslog=                                                                       
+ _use_wget=                                                                     
+ _server=                                                                       
+ _notify_hook=                                                                 
+ _notify_level=                                                                 
+ _notify_mode=                                                                 
+ _notify_source=                                                               
+ _revoke_reason=                                                               
+ _eab_kid=                                                                     
+ _eab_hmac_key=                                                                 
+ _preferred_chain=                                                             
+ _valid_from=                                                                   
+ _valid_to=                                                                     
+ '[' 1 -gt 0 ]                                                                 
+ echo https://github.com/acmesh-official/acme.sh                               
https://github.com/acmesh-official/acme.sh                                       
+ echo v3.0.8                                                                   
v3.0.8                                                                           
+ return
 
Also hat's doch geklappt, ohne Hänger, oder? So endet die Ausgabe bei mir auch und der Prompt kommt wieder.
Dann sollte
Code:
/usr/local/bin/acme.sh --version
etc. also auch gehen.
Evtl. liegt's ja am Pfad.
 
Ergebnis, dann Prompt:

Code:
https://github.com/acmesh-official/acme.sh                                       
v3.0.8

Ist laut github auch das aktuelle Release. Gebe ich aber nur acme.sh ein, kommt der blinkende Cursor und je länger der Zustand andauert, umso höher wird die RAM und CPU Auslastung.
 
Ich bin jetzt auch mal über die Konsole durch die Hintertür:

sudo docker exec acme.sh --help

Gleiche Reaktion, CPU läuft hoch bis auf 67%, RAM auf 85%, habe den Container stoppen müssen.
 
Und in welchem Verzeichnis stehst du, wenn du acme.sh (ohne Pfad) ausführst?

Wie man sieht, liegt das eigentliche Script unter /root/.acme.sh, wird aber über einen Link in /usr/local/bin gefunden und aufgerufen
Code:
 # pwd                                                                          
/                                                                                
/ # echo $PATH                                                                   
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin                     
/ # ls -als /root/.acme.sh/acme.sh /usr/local/bin/acme.sh                        
220 -rwxr-xr-x 1 root root 222824 Feb  4 04:39 /root/.acme.sh/acme.sh            
  4 lrwxrwxrwx 1 root root     22 Feb  4 04:39 /usr/local/bin/acme.sh -> /root/.acme.sh/acme.sh
 
Ergebnis

Code:
/ # echo $PATH                                                                   
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 
# ls -als /root/.acme.sh/acme.sh /usr/local/bin/acme.sh                       
220 -rwxr-xr-x 1 root root 222824 Feb  4 04:39 /root/.acme.sh/acme.sh           
  4 lrwxrwxrwx 1 root root     22 Feb  4 04:39 /usr/local/bin/acme.sh -> /root/.acme.sh/acme.sh
 
Ist ja komisch, alles wie bei mir. Setz mal noch
Code:
/ # which acme.sh                                                                
/usr/local/bin/acme.sh                                                           
/ # alias                                                                        
/ #
ab. which zeigt an, aus welchem Verzeichnis acme.sh gefunden/geladen wird und alias sollte nichts liefern.
 
Um's abzukürzen, identisch. 😩

Edit: an welchen Stellen könnte ich denn im Zusammenhang noch schauen? Irgendwelche Settings? Oder ist das ein containereigenes Problem?
 
Jetzt gehen mir auch langsam die Ideen aus, warum acme.sh ohne Pfadangabe bei dir nur Last verursacht, aber nichts macht. Vermutlich ruft es sich rekursiv immer wieder selbst auf. Bei mir geht das, und bei dir ja scheinbar auch mal. Was ist nun anders?
Dann ruf es halt mit Pfad auf, bis das geklärt ist.

Der cron-Job innerhalb des Containers ruft übriges das Script unter /root/.acme.sh direkt auf
Code:
/ # cat /etc/crontabs/root                                                       
46 15 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" --config-home "/acme.sh" > /proc/1/fd/1 2>/proc/1/fd/2
 
Was müsste ich denn ggf. softwareseitig neu installieren, um da Ordnung reinzubringen? Den Containermanager habe ich schon mal neu installiert.

Um den Wurm rauszubekommen, würde ich mich auch nicht vor einem Re-Install von DSM scheuen (ohne Datenverlust).

PS: TM-/HB-Backups laufen aktuell
 
Ach was, das ist sicherlich nur eine Kleinigkeit, das wäre mit Kanonen auf Spatzen Dann ruf halt mit Pfad auf, wenn sonst alles funktioniert.
 
Wie gehabt, nach cat /etc/crontabs/root kommt dasselbe Ergebnis, wie bei dir .

Dan am Prompt acme.sh...nix und Last

Edit: Noch als Randnotiz, die Lastspitzen fingen gestern nach einem acme re-install an, wurden so schlimm, dass die Kiste eingefroren ist und danach half nur noch der dicke Daumen.
 
Ich wollte damit nur sagen, dass der cron-Job ja auch mit Pfad aufruft und somit laufen müsste. Wenn es nur um deine interaktiven Aufrufe geht, ruf die halt Pfad auf.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat