我正在尝试按照此处针对 OSX 的说明进行操作
http://wiki.filezilla-project.org/Howto
我可以成功ssh
进入目标服务器而无需用户名/密码(OSX 从目录中获取我的证书~/.ssh
),但我不知道如何让 Filezilla 执行相同的操作。
我已尝试过仅跑步ssh-agent
,但没有多大作用。
答案1
您现在可以使用FileZilla -> Preferences -> Connection -> SFTP
它来导入您的私钥。
答案2
OSX 的最新版本已经内置了 ssh-agent,无需单独启动它。
就我而言,我只需在 FileZilla 的站点设置中将登录类型更改为“交互式”,然后选择 SFTP 作为协议。
FileZilla 显然会与 ssh-agent 对话并处理身份验证。这比将密钥导入 FileZilla 更好,因为这样您可以保护文件密码。
答案3
您不需要.ppk
或.pem
钥匙。
- 将您的私钥添加到 SSH 代理。在 Mac 中,这是
ssh-add ~/.ssh/[your private key]
- 如果您尚未创建 SSH 密钥,请先运行此命令ssh-keygen -t rsa -f ~/.ssh/[give a name for your keys] -C "[your email]"
- 1) 打开 FileZilla 2) 输入主机:
sftp://[host ip address you want to connect to]
3) 输入用户名:[your username]
4) 将密码和端口字段留空 5) 单击“快速连接”
FileZilla 将能够自动使用您在 SSH 代理中加载的密钥。
答案4
这些解决方案在 MacOS(Sierra、High Sierra 或 Mojave)上都对我不起作用。将您自己的密钥添加到 FileZilla 设置后,重启后仍会提示输入密码。
添加以下内容~/.ssh/config
:
Host *
ForwardAgent yes
UseKeychain yes
AddKeysToAgent yes
IdentityFile ~/.ssh/id_rsa
然后在终端中执行以下操作:
ssh-add -K ~/.ssh/id_rsa
然后创建这个文件:
~/Library/LaunchAgents/本地.计算机名称.AddSSHKeysAtLogin.plist
把这个放进去:
标签 local.mycomputername.AddSSHKeysAtLogin ProgramArguments /usr/bin/ssh-add -A StandardOutPath /dev/null StandardErrorPath /dev/null RunAtLoad
重新启动后,您便可以使用 FileZilla,而无需输入密码。成功了!
我在这里得到了最后一部分:https://blog.elao.com/en/tech/ssh-agent-does-not-automatically-load-passphrases-on-the-osx-sierra-keychain/