macOS下FileZilla无法使用ssh-agent中的密钥导致SFTP连接失败
macOS下FileZilla无法使用ssh-agent中的密钥导致SFTP连接失败
我之前也碰到过一模一样的问题,重启Mac后终端SSH能正常用,但FileZilla死活连不上SFTP,折腾了好一会儿才找到根源——FileZilla在macOS上默认依赖的是Pageant(Putty的SSH代理工具),而不是我们平时用的系统自带ssh-agent,两者完全不互通,所以你的密钥明明在系统ssh-agent里,FileZilla却根本找不到。
解决方法其实很简单,按下面步骤操作就行:
- 打开FileZilla,点击顶部菜单栏的「FileZilla」→「Settings」(偏好设置)
- 在左侧导航栏里找到「SFTP」选项
- 勾选「Use system SSH agent」(使用系统SSH代理)这一项
- 点击「OK」保存设置,然后重启FileZilla
重启后再尝试连接SFTP,应该就能正常调用ssh-agent里的密钥了,不用再手动导入PPK或者反复输入密码。
另外你之前运行的eval "$(ssh-agent -s)"和ssh-add --apple-use-keychain ~/.ssh/id_ed25519是完全正确的,这两个命令已经把密钥成功加到系统ssh-agent里了,只要让FileZilla切换到使用这个代理就行。
至于手动转PPK能成功的原因,是因为这种方式直接读取本地密钥文件,不依赖任何代理服务,所以输入密码就能连接,但每次都要输密码肯定麻烦,配置好代理才能一劳永逸。
备注:内容来源于stack exchange,提问作者kataba
相关产品推荐
相关产品推荐

