有没有办法通过 ssh 将 Python psutil 模块发送到没有互联网访问权限的计算机?
Is there a way to ship the Python psutil module over ssh to a computer without internet access?
我正在制作一个远程 Linux 工件收集脚本,并且想使用 psutil 模块,因为它包含许多方便的函数,重写起来会很痛苦。
问题是用于此操作的计算机不一定连接到 Internet。有没有办法通过 ssh 发送模块以便我可以远程使用它?
我在我的个人机器上试过这个,没有 SSH 部分。但是,为了完整性和易用性,我将详细说明如何使用 scp
将其上传到另一台设备。因此,您可能会遇到一些我没有遇到的错误。您已收到警告。
第 1 步:下载 psutil
包
在安装了 pip
的机器上,使用以下命令下载 psutil
软件包:
pip download psutil
使用 ls
(在 Linux 上)我们可以看到我们现在在当前目录中有一个 *.tar.gz 文件。在撰写本文时,当前 psutil
版本为 5.6.3,因此文件名为 "psutil-5.6.3.tar.gz"
第 2 步:将文件上传到所需设备
确保您和目标设备都连接到同一个 LAN,并且您知道目标设备的 IP 地址。我将此 IP 地址表示为 "W.X.Y.Z"。
要使用 SSH 上传文件,运行:
scp /path/to/*.tar.gz username@W.X.Y.Z:/desired/path/to/*.tar.gz
如果您有 SSH 密钥并想使用它登录,请将其与 -i
标志一起传递:
scp -i /path/to/ssh/key/file /path/to/*.tar.gz username@W.X.Y.Z:/desired/path/to/*.tar.gz
第 3 步:通过 SSH 连接到所需设备
这一步非常简单,但我把它作为自己的一步,因为如果您不知道自己在做什么,很容易出错。
通过 SSH 连接到您将文件上传到的设备:
ssh username@W.X.Y.Z
如果您没有 SSH 密钥,或者它不在 SSH 预期的位置,您可能需要提供密码。
第四步:安装我们刚刚上传的包
现在只需安装软件包!
pip install /path/to/*.tar.gz
如果您收到一条错误消息:
ERROR: Cannot uninstall 'psutil'. It is a distutils installed project
and thus we cannot accurately determine which files belong to it which
would lead to only a partial uninstall.
那么您应该已经安装了 psutil
。您可以通过 运行ning:
检查
pip list | grep '^psutil'
在您尝试安装包的机器上。
编辑
此外,如果您的 Python 脚本在 Python 3 而不是 Python 2(它应该是因为 Python 2 生命周期结束是一月2020 年 1 日),将我刚刚使用 pip
的所有地方替换为 pip3
。
我正在制作一个远程 Linux 工件收集脚本,并且想使用 psutil 模块,因为它包含许多方便的函数,重写起来会很痛苦。
问题是用于此操作的计算机不一定连接到 Internet。有没有办法通过 ssh 发送模块以便我可以远程使用它?
我在我的个人机器上试过这个,没有 SSH 部分。但是,为了完整性和易用性,我将详细说明如何使用 scp
将其上传到另一台设备。因此,您可能会遇到一些我没有遇到的错误。您已收到警告。
第 1 步:下载 psutil
包
在安装了 pip
的机器上,使用以下命令下载 psutil
软件包:
pip download psutil
使用 ls
(在 Linux 上)我们可以看到我们现在在当前目录中有一个 *.tar.gz 文件。在撰写本文时,当前 psutil
版本为 5.6.3,因此文件名为 "psutil-5.6.3.tar.gz"
第 2 步:将文件上传到所需设备
确保您和目标设备都连接到同一个 LAN,并且您知道目标设备的 IP 地址。我将此 IP 地址表示为 "W.X.Y.Z"。
要使用 SSH 上传文件,运行:
scp /path/to/*.tar.gz username@W.X.Y.Z:/desired/path/to/*.tar.gz
如果您有 SSH 密钥并想使用它登录,请将其与 -i
标志一起传递:
scp -i /path/to/ssh/key/file /path/to/*.tar.gz username@W.X.Y.Z:/desired/path/to/*.tar.gz
第 3 步:通过 SSH 连接到所需设备
这一步非常简单,但我把它作为自己的一步,因为如果您不知道自己在做什么,很容易出错。
通过 SSH 连接到您将文件上传到的设备:
ssh username@W.X.Y.Z
如果您没有 SSH 密钥,或者它不在 SSH 预期的位置,您可能需要提供密码。
第四步:安装我们刚刚上传的包
现在只需安装软件包!
pip install /path/to/*.tar.gz
如果您收到一条错误消息:
ERROR: Cannot uninstall 'psutil'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.
那么您应该已经安装了 psutil
。您可以通过 运行ning:
pip list | grep '^psutil'
在您尝试安装包的机器上。
编辑
此外,如果您的 Python 脚本在 Python 3 而不是 Python 2(它应该是因为 Python 2 生命周期结束是一月2020 年 1 日),将我刚刚使用 pip
的所有地方替换为 pip3
。