SFTP get 抛出错误(curl 也不起作用)

SFTP get 抛出错误(curl 也不起作用)

我正在通过终端连接到 SFTP。我想下载一个文件。

如果我进入该文件夹,我可以列出其内容:

ls

我可以清楚地看到该文件;我们将其命名为“my_file.csv”。

如果我尝试此代码:

sftp get my_file.csv

我收到此错误:

Connecting to get...
ssh: Could not resolve hostname get: Name or service not known
Couldn't read packet: Connection reset by peer

我可以使用“less my_file.csv”查看文件。它显然在那里并且可以访问,但我无法使用我尝试过的任何 sftp get 组合下载它(我尝试了很多选项)。我也尝试过使用 curl,但没有成功。

如果我输入 SFTP,我会得到以下选项:

usage: sftp [-1Cv] [-B buffer_size] [-b batchfile] [-F ssh_config]
            [-o ssh_option] [-P sftp_server_path] [-R num_requests]
            [-S program] [-s subsystem | sftp_server] host
       sftp [user@]host[:file ...]
       sftp [user@]host[:dir[/]]
       sftp -b batchfile [user@]host

任何帮助都非常感谢!我将其设置为最终按计划下载文件(例如每小时)。

答案1

sftp希望主机作为第一个参数。因此,如果您像这样形成参数:

sftp user@host:my_file.csv,它应该可以工作。使用你的命令,sftp错误地假设主机名是get

如果您想要访问sftp服务器上命令的默认路径以外的路径,还可以添加路径:sftp user@host:/path/to/my_file.csv

sftp更适合交互式使用。正如@Jos 指出的那样,对于您的目的来说,它scp会更合适。

相关内容