1

当我在下面执行此命令时:

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

我收到一个错误:

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

有谁知道为什么?

4

3 回答 3

4

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

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

所以这首先解释了“PermitLocalCommand”选项的来源。我将添加它sftp使用相同的选项来运行 ssh,因此它可能会显示相同的行为。

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

此服务器故障问题表明该错误可能是由于有人ssh在您的系统上安装了恶意软件版本(即 rootkit)。该论坛帖子还表明问题是由于更改了 的版本ssh,该问题已通过删除并重新安装 OpenSSH 客户端实用程序得到修复。

另一种解释是,某人(可能是您的 Linux 发行版维护者)在您的系统上安装了一个 ssh 版本,但删除了该选项,而您却在不知不觉中使用它。或者由于某种原因,您的程序版本非常旧ssh,不支持该选项。

于 2015-08-04T14:06:31.890 回答
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
于 2014-01-21T04:45:16.277 回答
-2

有时命令无法解析这种东西

:~/

我将其更改为完整路径。

于 2020-03-12T17:38:41.520 回答