SCP错误:错误的配置选项:PermitLocalCommand

时间:2013-04-24 02:18:44

标签: linux ssh scp

当我执行以下命令时:

scp -P 36000  hdfs@192.168.0.114:~/tmp.txt SOQ_log.txt

我收到错误:

command-line: line 0: Bad configuration option: PermitLocalCommand

有谁知道为什么?

3 个答案:

答案 0 :(得分:4)

scp运行ssh程序的副本以创建通信渠道,并使用以下选项运行ssh:

-oForwardAgent=no -oPermitLocalCommand=no -oClearAllForwardings=yes

这就解释了" PermitLocalCommand"选项来自于第一位。我将添加sftp使用相同的选项来运行ssh,因此它可能会显示相同的行为。

" PermitLocalCommand"通常是有效的ssh配置选项。如果您的ssh副本抱怨它,那么您的ssh副本似乎不是与您的scp副本一起使用的ssh的正常副本。

This serverfault question表示该错误可能是由于某人在您的系统上安装了ssh的恶意软件版本(即rootkit)。 This forum thread还表明问题是由于ssh版本的更改,通过删除并重新安装OpenSSH客户端实用程序来解决此问题。

另一种解释是,有人 - 也许是您的Linux发行版维护者 - 已经在您的系统上安装了ssh版本,并删除了该选项,并且您在不知情的情况下使用它。或者由于某种原因,您有一个非常旧版本的ssh程序,但它不支持该选项。

答案 1 :(得分:1)

我的系统是CentOs 5.9

我遇到同样的问题,我发现它是由于/ etc / ssh / sshd_config中的配置行:

# override default of no subsystems
Subsystem       sftp    /opt/libexec/sftp-server

但是我无法运行/ opt / libexec / sftp-server,它因某种原因而被破坏

现在通过重新安装远程openssh-server来解决它:

yum erase openssh-server
yum install openssh-server

现在改为

# override default of no subsystems
Subsystem       sftp    /usr/libexec/openssh/sftp-server

和/ usr / libexec / openssh / sftp-server可运行

不要忘记执行:

/etc/init.d/sshd restart

答案 2 :(得分:-1)

有时命令无法解析此类内容

:〜/

Id将其更改为完整路径。