当谈到在一个组织工作时,在你的服务器上编写/开发代码和部署应用程序是很常见的。安全外壳(SSH)是一种通信协议,用于访问整个远程计算机/服务器,无论是在本地网络还是部署在世界其他地方的任何服务器。PyScripter 具有创建 SSH 客户端连接到 SSH 服务器的功能,然后允许你远程创建你的Python 脚本。让我们来详细了解一下如何使用 PyScripter Python IDE 来处理远程 Python 脚本和文件。
先决条件
- 应该安装 PyScripter IDE。如果还没有安装,请在以下地址找到它。PyScripter - 免费下载 - Embarcadero
- 熟悉PowerShell和Terminal等命令行工具的工作是有帮助的
两种类型的 SSH 服务器
- 本地网络服务器
- 远程服务器
在本地网络服务器上使用 Python 脚本
让我们创建一个 GNU/Linux SSH 服务器。我的设置是一个基于 Debian 的操作系统 - PureOS 在我的机器上运行。我有一个windows虚拟机在运行,我在其中安装了PyScripter IDE。因此,基于 GNU/Linux 的 PureOS 将作为 SSH 服务器,而 Windows 虚拟机将作为本地网络中的 SSH 客户。你可以有两个不同机器连接到同一个局域网或WiFi的设置。大多数最近的操作系统都预装了SSH。在基于GNU/Linux的操作系统上,用以下命令检查SSH服务器是否已经在运行。
systemctl status ssh

如果服务器已经在运行,你会得到一个类似于上图的结果,其中Active:活跃(运行),颜色为绿色。如果服务器处于非活动状态,你会得到一个类似于下图的结果。

要打开服务器,请输入下面的命令,并使用上面的状态命令重新检查状态。
systemctl start ssh
现在你的服务器应该正在运行。请使用下面的命令检查你的服务器的IP地址。
ip addr | grep inet

IP地址在上图中被突出显示。另外,使用下面的命令检查SSH服务器活动的端口号。
sudo lsof -i -P -n | grep sshd | grep IPv4

SSH运行的TCP端口号(22)在上面的图片中突出显示。我们还需要你的服务器的用户名。你可以使用whoami 命令来检查你的用户名。

如何从你的本地机器连接到SSH服务器
现在让我们从SSH客户端登录到SSH服务器。我将使用我的虚拟机中的Windows操作系统作为SSH客户端。你可以使用一个单独的连接到同一局域网或Wi-Fi的Windows机器来创建一个SSH客户端。我们可以通过打开 "**设置">"应用程序">"应用程序和功能">"可选功能 "**来检查OpenSSH客户端是否已经安装,或者以其他方式添加/安装该功能,如下面的图片中所示。

现在,是时候从安装了PyScripter的Windows机器上作为客户端登录SSH服务器了。我们将利用我们之前记下的GNU/Linux服务器的用户名、IP地址和端口号。请使用以下命令登录到服务器。
ssh USERNAME@IP_ADDRESS -p PORT_NUMBER
与上面的截图相比,我的IP地址将在这里改变,因为我改变了我的Wi-Fi Hotspot。请观察下面的图片,与之前的截图相比,我的IP地址从192.168.0.108改为192.168.85.1。登录到SSH服务器的步骤在下图中提到。

现在,我们已经登录到了SSH服务器计算机,我们可以从PowerShell的SSH客户端创建、删除和管理服务器的文件。我们也可以使用任何其他的命令行工具,如git bash来实现Windows上的SSH客户端。在这里,我们要用服务器计算机的密码登录,这可能会被泄露。我们将生成一个公私密钥对来登录服务器,而不是用密码。要生成一个基于SSH密钥的登录对,我们可以使用 **ssh-keygen**命令,如下图所示。

我们现在应该把当前 Windows 客户端id_rsa.pub文件中的公钥复制到 GNU/Linux 服务器的authorized_keys文件中。我们将使用下面的命令来做这件事。
cat ~/.ssh/id_rsa.pub | ssh username@ip_address "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys"
观察下面的图片,"username "和 "ip_address "被更新为我各自的服务器信息。然后我们就可以不使用任何密码登录到服务器了。

如何使用 PyScripter 在远程服务器上编辑 Python 脚本
我们现在可以在PyScripter中处理远程文件了。请打开PyScripter并选择 文件 > 打开远程文件选项,如下图所示。

按照下面提到的步骤顺序,连接到SSH服务器。

添加服务器后,我们现在可以在 PyScripter 中打开服务器计算机中的任何文件。我们应该从添加的服务器列表中选择一个服务器,并选择服务器中文件的路径。使用下面的图片作为指导。

让我们检查服务器计算机中check.py文件的内容,以便在用 PyScripter 打开时进行交叉检查。当你点击上图中的 "OK"时,远程check.py文件将被打开。请看下图,我们用终端和 PyScripter 都打开了check.py文件。

编辑完Python文件后,保存它,它将保存到服务器。现在,你可以在PyScripter IDE中成功地编辑、运行并保存文件到服务器。现在让我们来实现从远程托管服务器访问文件的功能。
如何在远程服务器上使用 Python 脚本
在组织的实时工作结构中,我们在远程服务器上托管一个应用程序。我选择了Digital Ocean主机来创建一个远程服务器。Digital Ocean慷慨地提供给我一个推荐链接,使用这个链接,你可以在2个月内获得100美元的积分。请使用以下链接。
使用上述推荐链接并创建一个账户。创建一个服务器 - 他们称之为 "Droplet"。选择基本选项来创建服务器,以测试在PyScripter IDE中使用远程服务器文件的情况。

在设置服务器时,我们需要提供一个SSH密钥,以实现无密码登录,这与我们对本地服务器所做的类似。让我们使用ssh-keygen 工具创建另一个SSH密钥对,以便与数字海洋服务器一起使用。


最后,创建droplet,数字海洋的droplet服务将分配一个公共IP地址来访问创建的服务器。

现在让我们尝试使用PowerShell访问它(服务器)。请以管理员身份打开PowerShell,将上述创建的服务器(droplet)的身份添加到客户端计算机上。请看下面的图片说明。

现在我们可以成功地SSH并连接到服务器计算机,你可以在下面的图片中看到。

如何使用PyScripter在远程Linux服务器上创建一个Python脚本
现在让我们在服务器上创建一个空的Python文件,并使用PyScripter IDE打开它,在其中写一些代码。我们可以使用 UNIX 命令 "touch <filename>" 来创建一个新文件。

现在,打开PyScripter,在服务器中打开上述创建的Python文件。我们可以从远程服务器上访问远程文件,就像我们在本地服务器上访问文件一样。我们可以使用公共IP地址列出远程服务器的SSH连接,与我们在本地服务器上做的类似。打开( 文件 > 打开远程文件 >
>
),然后在编辑SSH服务器表格/窗口中填写服务器连接的详细信息。

现在,远程服务器中指定路径的文件将被打开,我们可以在PyScripter IDE中对其进行操作。

使用 "Ctrl + S"快捷键保存编辑内容,文件将自动保存在远程服务器中的更改。为了演示保存的更改,让我们使用PowerShell连接检查远程服务器中的文件内容。我们将使用基于UNIX的命令"cat <filename>"来查看终端(PowerShell)中的文件内容。

关于如何远程编辑Python脚本,我们学到了一些东西,总结如下
PyScripter IDE 可以成为你处理远程文件的首选 IDE。你可以在你最喜欢的PyScripter IDE中完成所有操作,如打开、创建、编辑、更新和保存远程文件。PyScripter IDE还具有各种其他功能,使其成为你工作的默认IDE。我们目前正在开发调试扩展适配器,使用它可以为其他编程语言创建调试器。然后,PyScripter可用于运行其他语言的代码,如JavaScript、C语言等。