如何使用 sftp 列出符號連結?

如何使用 sftp 列出符號連結?

我們的託管提供者不允許ssh-access (因為安全性),但允許我們透過 .access 上傳檔案和操作目錄sftp。 (唯一的其他選擇是透過“cpanel”)。

sftp足以允許創造符號鏈接,但不足以正確列出它們。例如:

sftp> symlink 500 rwu
sftp> ls -l
lrwxrwxrwx    1 foo bar  3 May 22 16:27 rwu

也就是說,我可以看到事實rwu」是一個符號鏈接,但我看不到什麼。至少,預設不是。整個sftp-client 或其ls-命令是否有一些“隱藏”選項,可以正確列出符號連結 - 就像真正的那樣ls(1)

答案1

OpenSSH SFTP 用戶端目前不支援此功能。

#ifdef notyet
char *
do_readlink(struct sftp_conn *conn, const char *path)
{
}
#endif

SSH_FXP_READLINK這是OpenSSH 原始碼中唯一出現的情況。我不知道為什麼這會被註解掉,也不知道需要什麼才能使其發揮作用。我在 OpenSSH 郵件列表上找到的唯一相關訊息是2002年的補丁那沒有被採納。

所以你唯一的選擇是使用不同的 SFTP 用戶端,例如SSHFS或者捲曲

相關內容