4

I'm trying to setup a private ethereum test network using Puppeth (as Péter Szilágyi demoed in Ethereum devcon three 2017). I'm running it on a macbook pro (macOS Sierra).

When I try to setup the ethstat network component I get an "docker configured incorrectly: bash: docker: command not found" error. I have docker running and I can use it fine in the terminal e.g. docker ps.

Here are the steps I took:

What would you like to do? (default = stats)
 1. Show network stats
 2. Manage existing genesis
 3. Track new remote server
 4. Deploy network components
> 4

What would you like to deploy? (recommended order)
 1. Ethstats  - Network monitoring tool
 2. Bootnode  - Entry point of the network
 3. Sealer    - Full node minting new blocks
 4. Wallet    - Browser wallet for quick sends (todo)
 5. Faucet    - Crypto faucet to give away funds
 6. Dashboard - Website listing above web-services
> 1

Which server do you want to interact with?
 1. Connect another server
> 1

Please enter remote server's address:
> localhost
DEBUG[11-15|22:46:49] Attempting to establish SSH connection   server=localhost
WARN [11-15|22:46:49] Bad SSH key, falling back to passwords   path=/Users/xxx/.ssh/id_rsa      err="ssh: cannot decode encrypted private keys"
The authenticity of host 'localhost:22 ([::1]:22)' can't be established.
SSH key fingerprint is xxx [MD5]
Are you sure you want to continue connecting (yes/no)? yes
What's the login password for xxx at localhost:22? (won't be echoed)
>
DEBUG[11-15|22:47:11] Verifying if docker is available         server=localhost
ERROR[11-15|22:47:11] Server not ready for puppeth             err="docker configured incorrectly: bash: docker: command not found\n"

Here are my questions:

  1. Is there any documentation / tutorial describing how to setup this remote server properly. Or just on puppeth in general?
  2. Can I not use localhost as "remote server address"
  3. Any ideas on why the docker command is not found (it is installed and running and I can use it ok in the terminal).
Arni Gudjonsson
  • 544
  • 9
  • 23

2 Answers2

0

Here is what I did.

  1. For the docker you have to use the docker-compose binary. You can find it here.

  2. Furthermore, you have to be sure that an ssh server is running on your localhost and that keys have been generated.

  3. I didn't find any documentations for puppeth whatsoever.

Lpax
  • 151
  • 3
  • thanks for the feedback, but I still have the same problem. I have made sure that the keys are working and I can ssh to localhost without password. I also have docker-compose working. – Arni Gudjonsson Nov 25 '17 at 01:15
  • Thanks for the rep. I would try the same procedure on a VM with Linux. Maybe it is a Mac related problem. – Lpax Nov 26 '17 at 10:46
0

I think I found the root cause to this problem. The SSH daemon is compiled with a default path. If you ssh to a machine with a specific command (other than a shell), you get that default path. This does not include /usr/local/bin for example, where docker lives in my case.

I found the solution here: https://serverfault.com/a/585075:

  • edit /etc/ssh/sshd_config and make sure it contains PermitUserEnvironment yes (you need to edit this with sudo)
  • create a file ~/.ssh/environment with the path that you want, in my case: PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin

When you now run ssh localhost env you should see a PATH that matches whatever you put in ~/.ssh/environment.

Stefan
  • 152
  • 6