DEV Community

Johnneylee Jack Rollins
Johnneylee Jack Rollins

Posted on

1 1

Fixing MacOS' SSH $PATH missing /usr/local/bin

Originally published to https://johnneyl.ee/writes/

Alt Text

Problem: /usr/local/bin missing from ssh $PATH

bash: docker: command not found

Exec ssh [localhost](http://localhost) docker

Normally, your paths include your /usr/local/bin, however, in macos you'll find that if you SSH into localhost (or indeed any macos host), it is missing. Such is the case when setting up a docker profile with an ssh-based remote host, for example. 🙄

To fix this, we need to safely⚠️ enable an option that's disabled in your sshd_config called PermitUserEnvironment

Solution: /etc/ssh/sshd_config & PermitUserEnvironment PATH,LANG

Edit sshd_config & ~/.ssh/environment

sed -i '' 's/#PermitUserEnvironment no/PermitUserEnvironment PATH,LANG/g' /etc/ssh/sshd_config

Bash:

echo "PATH=/usr/local/bin:$PATH" >> ~/.ssh/environment

Fish:

echo "setenv PATH /usr/local/bin:$PATH" >> ~/.ssh/environment

Conclusion:

🥳 ssh [localhost](http://localhost) docker works!🥳

Now go and cluster all your macbooks together with docker! 🥳

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Billboard image

Create up to 10 Postgres Databases on Neon's free plan.

If you're starting a new project, Neon has got your databases covered. No credit cards. No trials. No getting in your way.

Try Neon for Free →

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay