【问题标题】:Why scp is not working when remote server is using zsh?为什么远程服务器使用 zsh 时 scp 不工作?
【发布时间】:2021-10-29 20:24:07
【问题描述】:

我在服务器上编译并安装了zsh,并将下面一行放入.bashrc

[ -f $ZSH/bin/zsh ] && exec $ZSH/bin/zsh -l

而且 zsh 运行良好。

然后当我从本地计算机使用 scp 将一些文件复制到服务器时,例如

$ scp test.txt user@server:~/

它会永远卡住,没有任何输出。

如果我在 .bashrc 中注释上面的 shell 行,scp 又可以工作了。

【问题讨论】:

  • 我也有同样的问题。但是我没有 root 访问权限来将 zsh 添加到 /etc/shells。我想唯一的办法就是手动启动zsh。

标签: ssh server zsh scp


【解决方案1】:

[ -f $ZSH/bin/zsh ] && exec $ZSH/bin/zsh -l 放入您的.bash_profile 而不是.bashrc

.bash_profile 仅适用于交互式 shell,.bashrc 始终适用。即使您只是尝试在遥控器上执行单个命令,例如scp 而不是交互式 shell (ssh),这会导致复杂性。

【讨论】:

    【解决方案2】:

    不确定你是否已经这样做了,但是

    如果您确实具有 root 访问权限,请确保 zsh 进入所有适当机器(包括 NIS 客户端)上的 /etc/shells,否则您可能无法通过 FTP 访问该机器

    来自zsh-FAQ

    【讨论】:

      猜你喜欢
      • 2014-07-10
      • 2014-04-09
      • 2014-11-18
      • 2019-10-28
      • 2013-10-04
      • 1970-01-01
      • 1970-01-01
      • 2012-09-16
      • 2023-02-10
      相关资源
      最近更新 更多