当我执行以下命令时:
scp -P 36000 hdfs@192.168.0.114:~/tmp.txt SOQ_log.txt
我收到错误:
command-line: line 0: Bad configuration option: PermitLocalCommand
有谁知道为什么?
答案 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将其更改为完整路径。