不推荐使用SCP

2020-11-06 09:52:00

这种行为是否构成漏洞,在一定程度上取决于旁观者的眼睛。如果用户拥有对远程系统的普通SSH访问权限,则通过SCP走私命令将更难完成已有的任务。不过,显然,站点提供仅SCP访问权限,允许用户复制文件,但不能在目标系统上执行任意命令,这并不是闻所未闻的。对于采用这种策略的系统来说,此行为确实是一个漏洞。最后,虽然危险很小,但值得注意的是,包含‘backticks’的本地文件名(例如,名为‘Touch You-Lost’的文件)将在另一端以相同方式处理;如果可以说服用户递归复制包含具有不同名称的文件的目录树,则可能会发生不好的事情。与CVE-2019-6111不同,OpenSSH开发者没有解决这个问题。如上面链接的公开中所引用的,他们的回应是:SCP命令是历史协议(称为RCP),其依赖于该类型的参数传递并且遇到扩展问题。事实证明,要将安全性添加到SCP模型中非常困难。所有试图检测和阻止异常参数传输的尝试都很有可能会破坏现有的工作流。是的,我们认识到这一点--情况很糟糕。但我们不想打破人们使用SCP的简单模式,除非有一个常见的替代品。

考虑到这一点,下一个问题就自然而然地出现了:应该用什么来取代不推荐使用的scp命令?这个问题的通常答案是sftp或rsync。