使用 PuTTY 命令行通过 SSH 下载文件

Tom*_*Tom 5 ssh command-line

我正在研究编写可以在 SSH 服务器上自动下载文件的程序的各种选项。我需要它来自动登录、导航到不同的目录并从那里下载所有文件。

但是,经过进一步思考,在我看来,使用 PuTTY 命令行将各种文件夹中的所有文件下载到我自己的 Windows 计算机可能更容易。

我目前有一个我并不真正想要的 root 帐户。(恐怕会出问题,我会受到责备。)我可以要求服务器管理员为我提供一个只有读取权限的有限帐户 - 并且仅限于那些目录?PuTTY 仍然可以工作还是需要在 SSH 服务器上做一些特殊的事情才能工作?如果是这样,那将是我解决客户问题的#1 方法。

Fra*_*mas 12

WinSCP是一个很好的通过 SSH 传输文件的客户端,可以从 windows cli 或 gui 工作。

至于权限,不,您不需要 root 来 ssh,如果他们降低了您的权限,但授予您对所需文件的所需权限,那么这对您来说应该没问题。我个人不允许通过 ssh 进行 root 登录,但我不倾向于运行默认启用 root 帐户的发行版。


Pau*_*aul 7

PuTTY 实用程序套件包括pscp等效于 OpenSSHscp命令。你可以这样使用它:

pscp -pw password username@remote.server.com:/path/to/folder/* c:\local\folder
Run Code Online (Sandbox Code Playgroud)

这会将指定文件夹中的所有远程文件复制到本地文件夹中,除了允许有限的用户 ssh 访问和文件夹访问之外,远程端不需要任何特殊内容。

您可能希望研究使用公钥/私钥以避免需要将密码放入脚本中 - 这个问题的第二个答案向您展示了如何。

然后你会使用:

pscp -i /path/to/private.key username@remote.server.com:/path/to/folder/* c:\local\folder
Run Code Online (Sandbox Code Playgroud)

为此,用户帐户必须有一个/home/username/.ssh/authorized_keys文件,并且 SSH 服务器必须允许公钥身份验证。