scp-“-d”和“-t”选项有什么作用?

scp-“-d”和“-t”选项有什么作用?

我遇到了帖子建议添加以下内容.ssh/authorized_keys以强制执行scp命令:

no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty,command="scp -v -r -d -t ~/CONTENT" ssh-rsa AAAAMYRSAKEY...

该解决方案非常有效,但我在手册中找不到有关-d和选项的任何信息。经过一番搜索,我终于找到了-tscp另一篇帖子这提供了一些启示:

scp-t通常是 scp 传输的接收端。它由另一个将要向接收端发送文件的 scp 实例启动。发送 scp 实例启动接收器,发送 C 行以标记文件即将到来,然后发送文件的数据。

知道该-d选项有什么效果吗?

另外,出于好奇,有人知道我是否/在哪里可以找到官方描述吗?我在源代码中找不到任何东西。

答案1

标志-d是类似 的服务器标志-t。在这种情况下,这意味着目标应该是一个目录(而不是常规文件)——尝试scp进入文件而不是目录将被终止。

-d在当前的OpenSSH源代码中,这里targetshouldbedirectory然后检查标志这里. 如果verifydir()为假,则(主机端)进程被杀

注意:我找不到官方描述,但在我链接的来源中找到了它。

相关内容