ssh – scp返回“意外”错误

我试图将文件从服务器scp到我的本地机器,但它给了我这个错误:

protocol error: unexpected <newline>

这是我的语法:

scp user@server:/path/to/file .

它在这台服务器上不起作用,但后来我在我的其他服务器上尝试了相同的命令,所以我只能假设我的服务器出了问题,而不是scp命令的语法.

有任何想法吗?

您的一个登录脚本(.bashrc / .cshrc / etc.)正在向终端输出数据.这会导致scp在连接并准备复制时出错,因为它开始接收它不期望的额外数据.删除此处生成的输出.

您可以通过在bashrc中使用以下代码来检查终端是否是交互式的,并且只输出文本.其他shell也存在等价物:

if shopt -q login_shell; then
    [any code that outputs text here]
fi
翻译自:https://serverfault.com/questions/328363/scp-returns-unexpected-newline-error

转载注明原文:ssh – scp返回“意外”错误