【问题标题】:After setting ~/.bashrc the FileZilla doesn't work设置 ~/.bashrc 后 FileZilla 不起作用
【发布时间】:2015-12-23 21:08:07
【问题描述】:

为了自动添加 ssh 密钥,我编辑了 ~/.bashrc 文件并在末尾添加了 eval "$(ssh-agent -s)"ssh-add。效果很好。

执行此操作后,我无法使用 FileZilla 通过 SFTP 访问服务器。

如何通过保持自动运行ssh-add 解决此问题?

我的服务器操作系统是 CentOS 6.7。我也通过 shell 访问服务器。

【问题讨论】:

  • 在您的 previous question 中,您尝试通过 SSH CentOS 服务器 GitHub。现在听起来您正试图从其他运行 FileZilla 的机器连接 您的 CentOS 服务器。这是正确的吗?
  • 是的。我在 CentOS 服务器上运行 git 从 GitHub 拉取项目并通过 shell 和 FileZilla 从本地 Mac 访问服务器。
  • 您对 SSH 从您的服务器到 GitHub 所做的更改与允许传入 SSH 到您的服务器无关。两者是完全分开的。看起来这个问题很快就会因为离题而被关闭。在Server FaultSuper User 上你可能会有更好的运气。您应该询问有关在 CentOS 上设置 SSH 服务器 的问题。
  • 我的问题是关于使用 FileZilla 的访问服务器。我确定编辑 .bashrc 文件导致 sftp 不起作用,我如何同时使用 auto ssh-add 和 FileZilla,这是我的问题。为什么跑题了?因为我提到了本地shell?我不这么认为。
  • 您认为您对~/.bashrc 所做的更改破坏了您使用 FileZilla 现有的 SFTP 访问权限?那会让我感到惊讶。 FileZilla 是否会记录尝试连接时出现的问题?

标签: centos sftp ssh-keys filezilla


【解决方案1】:

回答your previous question¹ 的人有问题:eval "$(ssh-agent -s)" 只应在登录 shell 中执行(例如,当您通过常规 SSH 登录以在服务器命令行上运行命令时)。

其他工具,如 FileZilla,可以使用非交互式 shell 登录,这些工具不需要或不希望 SSH 代理运行。

~/.bashrc 适用于 both 类型的 shell,因此它不是开始 ssh-agent 的正确位置。 ~/.bash_profile 是更好的选择,因为它仅适用于登录 shell。将ssh-agent 命令移到那里,一切都会再次正常运行。

¹我就是那个人。对不起,让你错了!我也会更新那个答案。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-01
    • 1970-01-01
    • 2020-08-01
    • 2015-07-09
    • 2018-06-26
    • 2017-11-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多