Ssh
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
和-t
選項的任何資訊。scp
經過一番搜尋後,我設法找到了另一篇能說明問題的文章:scp
-t
通常是 scp 傳輸的接收端。它由另一個 scp 實例啟動,該實例將向接收端發送文件。發送 scp 實例啟動接收器,發送 C 行以標記文件即將到來,然後發送文件的數據。
-d
知道該選項有什麼影響嗎?另外,出於好奇,有人知道我是否/在哪裡可以找到官方描述。我無法在原始碼中找到任何內容。
該
-d
標誌是一個伺服器標誌,如-t
. 在這種情況下,這意味著目標應該是一個目錄(而不是一個正常文件)——嘗試到scp
一個文件而不是一個目錄將被終止。在目前的 OpenSSH 原始碼中,在這裡
-d
被擷取,設置標誌,然後在這裡被檢查。如果為 false,則(主機端)程序被終止。targetshouldbedirectory``verifydir()
注意我找不到官方描述,但確實在我連結的原始碼中找到了它。