ssh returns "Bad owner or permissions on ~/.ssh/config"
Solution 1:
I needed to have rw for user only permissions on config. This fixed it.
chmod 600 ~/.ssh/config
As others have noted below, it could be the file owner. (upvote them!)
chown $USER ~/.ssh/config
Solution 2:
These commands should fix the permission problem:
chown $USER ~/.ssh/config
chmod 644 ~/.ssh/config
Prefix with sudo
if the files are owned by different user (or you don't have access to them).
If more files are affected, replace config
with *
.
In man ssh
we can read:
Because of the potential for abuse, this file must have strict permissions: read/write for the user, and not writable by others. It may be group-writable provided that the group in question contains only the user.
Solution 3:
For me it was an issue with my user account not being the owner of the file
sudo chown myuser ~/.ssh/config
Solution 4:
If on Windows Subsystem for Linux (WSL) and you pointed your WSL home directory to your Windows home directory (not recommended!) then chmod has no effect. Before you can chmod
the files mentioned in other answers you must add
[automount]
options = "metadata"
to your /etc/wsl.conf
then restart WSL (requires build 17093 or later).
Before mount says:
C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,case=off)
After mount says:
C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,metadata,case=off)
Solution 5:
Don't forget about the group:
chown $USER:$USER ~/.ssh/config
:-)