| 24 | |
| 25 | Edit 1: |
| 26 | I've found that the actual reason for FileZilla failing to use the keys loaded in ssh-agent is that FileZilla starts its own ssh-agent process with its own socket instead of using the default one where the keys are loaded. The default socket location is in a temporary directory /var/folders/sm/4bt9kz951dg4s5kq1jwy57tc0000gn/T//ssh-nWola5Puaw6o/agent.2855, and when I try to use SFTP via FileZilla, it creates its own at /private/tmp/com.apple.launchd.YiC62e7kHT/Listeners. |
| 27 | |
| 28 | Update: |
| 29 | |
| 30 | I use ohmyzsh with a couple common plugins. I found out I had the ssh-agent plugin enabled. After disabling it, it stopped asking me for passphrase, but also ssh-agent doesn't get started when I open my terminal. When I add my keys it doesn't ask me for a passphrase, which by itself is what I would expect, based on my config. I am still not sure what caused the bad passhphrase error though. |
| 31 | |
| 32 | With the ssh-plugin plugin disabled, when I boot/restart my system, an ssh-agent doesn't get started on boot (I think it's like that by default; the ssh-agent plugin didn't change this, it was only responsible for automatically starting an ssh-agent when I open my terminal). Then I open my terminal. Then when I run the `ssh` command to ssh into a server, automatically an ssh-agent gets started and my private key gets imported without asking for a passphrase. I hope this is how it should work based on my config. |
| 33 | |
| 34 | By default, there is an environment variable `$SSH_AUTH_SOCK` set to a temp folder location and `$SSH_AGENT_PID` is empty. The ssh-plugin was starting a new ssh-agent instance and overwriting the `$SSH_AUTH_SOCK` variable to its own socket, and this way shadowing the existing ssh-agent instance that used the default socket location (if there is one running), and this led to two different ssh-agent instances running at the same time and listening on different sockets. |