There’s been a change at some point to the JSON format that Let’s Encrypt returns challenges in.
If you have an “old” installation of letsencrypt.sh that pre-dates v0.2.0, letsencrypt.sh is probably doing this:
$ ./letsencrypt.sh -c # INFO: Using main config file /home/letsencrypt/letsencrypt.sh/config.sh Processing somedomain.netcalibre.net + Checking domain name(s) of existing cert... unchanged. + Checking expire date of existing cert... + Valid till Jun 22 16:24:00 2016 GMT (Less than 30 days). Renewing! + Signing domains... + Generating signing request... + Requesting challenge for somedomain.netcalibre.net... $
and then it silently exits.
Update it from git, move your config file to the new location:
git pull mv config.sh config ./letsencrypt.sh -c