Skip to content

Commit a6bd2a2

Browse files
dguidoclaude
andauthored
Remove obsolete troubleshooting entries (#14896)
* Remove obsolete troubleshooting entries Remove 3 troubleshooting entries that are no longer relevant: 1. DigitalOcean: error tagging resource - Fixed in 2018 when tagging was moved to droplet creation - The separate tagging step that caused this error no longer exists 2. Docker: Failed to connect to the host via ssh - 6+ years old workaround for control_path_dir - Modern Docker deployments don't exhibit this issue - The workaround was never added to ansible.cfg 3. Ubuntu Error: unable to write 'random state' - OpenSSL 3.x (Ubuntu 22.04) doesn't use .rnd files - Algo now uses Ansible community.crypto modules instead of shell openssl commands 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> * Reorganize Installation Problems section by category Group related troubleshooting entries for easier navigation: - General Setup: Python, Ansible, SSL certs, SSH permissions - Cloud Providers: Region availability, AWS (3), Azure (2), Linode (1) - Windows: WSL keyData issue, VPN connection error - Local Deployment: Symlinks, WireGuard configs - Network: Firewall timeout Moves Linode stackscript issue to be grouped with other cloud providers instead of at the end of the section. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <[email protected]> --------- Co-authored-by: Claude <[email protected]>
1 parent 59ee758 commit a6bd2a2

File tree

1 file changed

+24
-77
lines changed

1 file changed

+24
-77
lines changed

docs/troubleshooting.md

Lines changed: 24 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -3,24 +3,27 @@
33
First of all, check [this](https://github.com/trailofbits/algo#features) and ensure that you are deploying to Ubuntu 22.04 LTS, the only supported server platform.
44

55
* [Installation Problems](#installation-problems)
6-
* [Python version is not supported](#python-version-is-not-supported)
7-
* [Error: "ansible-playbook: command not found"](#error-ansible-playbook-command-not-found)
8-
* [Fatal: "Failed to validate the SSL certificate for ..."](#fatal-failed-to-validate-the-SSL-certificate)
9-
* [Bad owner or permissions on .ssh](#bad-owner-or-permissions-on-ssh)
10-
* [The region you want is not available](#the-region-you-want-is-not-available)
11-
* [AWS: SSH permission denied with an ECDSA key](#aws-ssh-permission-denied-with-an-ecdsa-key)
12-
* [AWS: "Deploy the template" fails with CREATE_FAILED](#aws-deploy-the-template-fails-with-create_failed)
13-
* [AWS: not authorized to perform: cloudformation:UpdateStack](#aws-not-authorized-to-perform-cloudformationupdatestack)
14-
* [DigitalOcean: error tagging resource 'xxxxxxxx': param is missing or the value is empty: resources](#digitalocean-error-tagging-resource)
15-
* [Azure: The client xxx with object id xxx does not have authorization to perform action Microsoft.Resources/subscriptions/resourcegroups/write' over scope](#azure-deployment-permissions-error)
16-
* [Windows: The value of parameter linuxConfiguration.ssh.publicKeys.keyData is invalid](#windows-the-value-of-parameter-linuxconfigurationsshpublickeyskeydata-is-invalid)
17-
* [Docker: Failed to connect to the host via ssh](#docker-failed-to-connect-to-the-host-via-ssh)
18-
* [Windows: "The parameter is incorrect" error when connecting](#windows-the-parameter-is-incorrect-error-when-connecting)
19-
* [Error: Failed to create symlinks for deploying to localhost](#error-failed-to-create-symlinks-for-deploying-to-localhost)
20-
* [Wireguard: Unable to find 'configs/...' in expected paths](#wireguard-unable-to-find-configs-in-expected-paths)
21-
* [Ubuntu Error: "unable to write 'random state'" when generating CA password](#ubuntu-error-unable-to-write-random-state-when-generating-ca-password)
22-
* [Timeout when waiting for search string OpenSSH in xxx.xxx.xxx.xxx:4160](#old-networking-firewall-in-place)
23-
* [Linode Error: "Unable to query the Linode API. Saw: 400: The requested distribution is not supported by this stackscript.; "](#linode-error-uable-to-query-the-linode-api-saw-400-the-requested-distribution-is-not-supported-by-this-stackscript)
6+
* General Setup
7+
* [Python version is not supported](#python-version-is-not-supported)
8+
* [Error: "ansible-playbook: command not found"](#error-ansible-playbook-command-not-found)
9+
* [Fatal: "Failed to validate the SSL certificate for ..."](#fatal-failed-to-validate-the-SSL-certificate)
10+
* [Bad owner or permissions on .ssh](#bad-owner-or-permissions-on-ssh)
11+
* Cloud Providers
12+
* [The region you want is not available](#the-region-you-want-is-not-available)
13+
* [AWS: SSH permission denied with an ECDSA key](#aws-ssh-permission-denied-with-an-ecdsa-key)
14+
* [AWS: "Deploy the template" fails with CREATE_FAILED](#aws-deploy-the-template-fails-with-create_failed)
15+
* [AWS: not authorized to perform: cloudformation:UpdateStack](#aws-not-authorized-to-perform-cloudformationupdatestack)
16+
* [Azure: No such file or directory .azure/azureProfile.json](#azure-no-such-file-or-directory-homeusernameazureazureprofilejson)
17+
* [Azure: Deployment Permissions Error](#azure-deployment-permissions-error)
18+
* [Linode: Stackscript error](#linode-error-unable-to-query-the-linode-api-saw-400-the-requested-distribution-is-not-supported-by-this-stackscript-)
19+
* Windows
20+
* [Windows: The value of parameter linuxConfiguration.ssh.publicKeys.keyData is invalid](#windows-the-value-of-parameter-linuxconfigurationsshpublickeyskeydata-is-invalid)
21+
* [Windows: "The parameter is incorrect" error when connecting](#windows-the-parameter-is-incorrect-error-when-connecting)
22+
* Local Deployment
23+
* [Error: Failed to create symlinks for deploying to localhost](#error-failed-to-create-symlinks-for-deploying-to-localhost)
24+
* [Wireguard: Unable to find 'configs/...' in expected paths](#wireguard-unable-to-find-configs-in-expected-paths)
25+
* Network
26+
* [Timeout when waiting for search string OpenSSH](#old-networking-firewall-in-place)
2427
* [Connection Problems](#connection-problems)
2528
* [I'm blocked or get CAPTCHAs when I access certain websites](#im-blocked-or-get-captchas-when-i-access-certain-websites)
2629
* [I want to change the list of trusted Wifi networks on my Apple device](#i-want-to-change-the-list-of-trusted-wifi-networks-on-my-apple-device)
@@ -121,25 +124,6 @@ fatal: [localhost]: FAILED! => {"changed": false, "failed": true, "msg": "User:
121124

122125
This error indicates you already have Algo deployed to Cloudformation. Need to [delete it](cloud-amazon-ec2.md#cleanup) first, then re-deploy.
123126

124-
### DigitalOcean: error tagging resource
125-
126-
You tried to deploy Algo to DigitalOcean and you received an error like this one:
127-
128-
```
129-
TASK [cloud-digitalocean : Tag the droplet] ************************************
130-
failed: [localhost] (item=staging) => {"failed": true, "item": "staging", "msg": "error tagging resource '73204383': param is missing or the value is empty: resources"}
131-
failed: [localhost] (item=dbserver) => {"failed": true, "item": "dbserver", "msg": "error tagging resource '73204383': param is missing or the value is empty: resources"}
132-
```
133-
134-
The error is caused because Digital Ocean changed its API to treat the tag argument as a string instead of a number.
135-
136-
1. Download [doctl](https://github.com/digitalocean/doctl)
137-
2. Run `doctl auth init`; it will ask you for your token which you can get (or generate) on the API tab at DigitalOcean
138-
3. Once you are authorized on DO, you can run `doctl compute tag list` to see the list of tags
139-
4. Run `doctl compute tag delete environment:algo --force` to delete the environment:algo tag
140-
5. Finally run `doctl compute tag list` to make sure that the tag has been deleted
141-
6. Run algo as directed
142-
143127
### Azure: No such file or directory: '/home/username/.azure/azureProfile.json'
144128

145129
```
@@ -173,6 +157,9 @@ az role assignment create --assignee-object-id THE_OBJECT_ID --scope subscriptio
173157

174158
After this is applied, the Service Principal has permissions to create the resources and you can re-run `ansible-playbook main.yml` to complete the deployment.
175159

160+
### Linode Error: "Unable to query the Linode API. Saw: 400: The requested distribution is not supported by this stackscript.; "
161+
162+
StackScript is a custom deployment script that defines a set of configurations for a Linode instance (e.g. which distribution, specs, etc.). if you used algo with default values in the past deployments, a stackscript that would've been created is 're-used' in the deployment process (in fact, go see 'create Linodes' and under 'StackScripts' tab). Thus, there's a little chance that your deployment process will generate this 'unsupported stackscript' error due to a pre-existing StackScript that doesn't support a particular configuration setting or value due to an 'old' stackscript. The quickest solution is just to change the name of your deployment from the default value of 'algo' (or any other name that you've used before, again see the dashboard) and re-run the deployment.
176163

177164
### Windows: The value of parameter linuxConfiguration.ssh.publicKeys.keyData is invalid
178165

@@ -189,24 +176,6 @@ Target: linuxConfiguration.ssh.publicKeys.keyData"}
189176

190177
This is related to [the chmod issue](https://github.com/Microsoft/WSL/issues/81) inside /mnt directory which is NTFS. The fix is to place Algo outside of /mnt directory.
191178

192-
### Docker: Failed to connect to the host via ssh
193-
194-
You tried to deploy Algo from Docker and you received an error like this one:
195-
196-
```
197-
Failed to connect to the host via ssh:
198-
Warning: Permanently added 'xxx.xxx.xxx.xxx' (ECDSA) to the list of known hosts.\r\n
199-
Control socket connect(/root/.ansible/cp/6d9d22e981): Connection refused\r\n
200-
Failed to connect to new control master\r\n
201-
```
202-
203-
You need to add the following to the ansible.cfg in repo root:
204-
205-
```
206-
[ssh_connection]
207-
control_path_dir=/dev/shm/ansible_control_path
208-
```
209-
210179
### Windows: "The parameter is incorrect" error when connecting
211180

212181
When trying to connect to your Algo VPN on Windows 10/11, you may receive an error stating "The parameter is incorrect". This is a common issue that can usually be resolved by resetting your Windows networking stack.
@@ -297,23 +266,6 @@ rm -rf configs/*
297266
```
298267
Then immediately re-run `./algo`.
299268

300-
### Ubuntu Error: "unable to write 'random state'" when generating CA password
301-
302-
When running Algo, you received an error like this:
303-
304-
```
305-
TASK [common : Generate password for the CA key] ***********************************************************************************************************************************************************
306-
fatal: [xxx.xxx.xxx.xxx -> localhost]: FAILED! => {"changed": true, "cmd": "openssl rand -hex 16", "delta": "0:00:00.024776", "end": "2018-11-26 13:13:55.879921", "msg": "non-zero return code", "rc": 1, "start": "2018-11-26 13:13:55.855145", "stderr": "unable to write 'random state'", "stderr_lines": ["unable to write 'random state'"], "stdout": "xxxxxxxxxxxxxxxxxxx", "stdout_lines": ["xxxxxxxxxxxxxxxxxxx"]}
307-
```
308-
309-
This happens when your user does not have ownership of the `$HOME/.rnd` file, which is a seed for randomization. To fix this issue, give your user ownership of the file with this command:
310-
311-
```
312-
sudo chown $USER:$USER $HOME/.rnd
313-
```
314-
315-
Now, run Algo again.
316-
317269
### Old Networking Firewall In Place
318270

319271
You may see the following output when attemptint to run ./algo from your localhost:
@@ -335,11 +287,6 @@ ok: [localhost] => {
335287

336288
If you see this error then one possible explanation is that you have a previous firewall configured in your cloud hosting provider which needs to be either updated or ideally removed. Removing this can often fix this issue.
337289

338-
### Linode Error: "Unable to query the Linode API. Saw: 400: The requested distribution is not supported by this stackscript.; "
339-
340-
StackScript is a custom deployment script that defines a set of configurations for a Linode instance (e.g. which distribution, specs, etc.). if you used algo with default values in the past deployments, a stackscript that would've been created is 're-used' in the deployment process (in fact, go see 'create Linodes' and under 'StackScripts' tab). Thus, there's a little chance that your deployment process will generate this 'unsupported stackscript' error due to a pre-existing StackScript that doesn't support a particular configuration setting or value due to an 'old' stackscript. The quickest solution is just to change the name of your deployment from the default value of 'algo' (or any other name that you've used before, again see the dashboard) and re-run the deployment.
341-
342-
343290
## Connection Problems
344291

345292
Look here if you deployed an Algo server but now have a problem connecting to it with a client.

0 commit comments

Comments
 (0)