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

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

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

然而,经过进一步思考,我觉得使用 PuTTY 命令行将各个文件夹中的所有文件下载到我自己的 Windows 计算机可能会更容易。

我目前有一个 root 帐户,但我并不真正需要它。(我担心可能会出错,而我会受到指责。)我是否可以要求服务器管理员为我提供一个仅具有读取权限的受限帐户 - 并且只能访问那些目录?PuTTY 还能工作吗,还是需要 SSH 服务器上的一些特殊功能才能工作?如果是这样,那将是我解决客户问题的首选方法。

答案1

温SCP是一个通过 SSH 进行文件传输的优秀客户端,并且可以从 Windows CLI 或 GUI 运行。

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

答案2

PuTTY 实用程序套件包含pscp与 OpenSSH 命令等效的scp命令。您可以像这样使用它:

pscp -pw password [email protected]:/path/to/folder/* c:\local\folder

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

您可能需要考虑使用公钥/私钥来避免将密码输入到脚本中——这是对此的第二个答案问题向您展示如何操作。

然后你可以使用:

pscp -i /path/to/private.key [email protected]:/path/to/folder/* c:\local\folder

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

相关内容