You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* 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]>
Copy file name to clipboardExpand all lines: docs/troubleshooting.md
+24-77Lines changed: 24 additions & 77 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,24 +3,27 @@
3
3
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.
4
4
5
5
*[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)
*[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)
24
27
*[Connection Problems](#connection-problems)
25
28
*[I'm blocked or get CAPTCHAs when I access certain websites](#im-blocked-or-get-captchas-when-i-access-certain-websites)
26
29
*[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)
This error indicates you already have Algo deployed to Cloudformation. Need to [delete it](cloud-amazon-ec2.md#cleanup) first, then re-deploy.
123
126
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.
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
-
143
127
### Azure: No such file or directory: '/home/username/.azure/azureProfile.json'
144
128
145
129
```
@@ -173,6 +157,9 @@ az role assignment create --assignee-object-id THE_OBJECT_ID --scope subscriptio
173
157
174
158
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.
175
159
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.
176
163
177
164
### Windows: The value of parameter linuxConfiguration.ssh.publicKeys.keyData is invalid
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.
191
178
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
-
210
179
### Windows: "The parameter is incorrect" error when connecting
211
180
212
181
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/*
297
266
```
298
267
Then immediately re-run `./algo`.
299
268
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] ***********************************************************************************************************************************************************
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
-
317
269
### Old Networking Firewall In Place
318
270
319
271
You may see the following output when attemptint to run ./algo from your localhost:
@@ -335,11 +287,6 @@ ok: [localhost] => {
335
287
336
288
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.
337
289
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
-
343
290
## Connection Problems
344
291
345
292
Look here if you deployed an Algo server but now have a problem connecting to it with a client.
0 commit comments