创建 perl 脚本以远程连接到另一台服务器并读取文件?

     2023-03-24     43

关键词:

【中文标题】创建 perl 脚本以远程连接到另一台服务器并读取文件?【英文标题】:create perl script to connect remotely to another server and read File? 【发布时间】:2020-11-19 19:04:25 【问题描述】:

我是 perl 编程的新手,也是网络的新手。 我的任务是连接到远程服务器并使用 Perl 脚本从服务器读取文件。我知道如何从本地机器读取文件,但不知道如何从远程服务器读取?

Code to read file from local machine but not know how to connect to remote server and read file?

#!/usr/bin/perl

use 5.010;
use strict;
use warnings;

open(FH, 'C:\Users\saqib riaz\Desktop\saqi\properties.txt');

while(<FH>)

    "$_";
   
close(FH);

我用的是window操作系统和padre ide最新版的草莓

【问题讨论】:

【参考方案1】:

以下内容适用于 Strawberry Perl 5.30 版。它使用Net::SSH2 并在服务器上打印一个文件file.txt

use strict;
use warnings;
use Net::SSH2;

my $host = 'my.host.com';
my $user = 'user_name';
my $password = 'xxxxxxx';
my $ssh2 = Net::SSH2->new();
$ssh2->connect($host) or $ssh2->die_with_error;
$ssh2->check_hostkey('ask') or $ssh2->die_with_error;
$ssh2->auth_password($user, $password);
my $chan = $ssh2->channel() or $ssh2->die_with_error;
$chan->exec('cat file.txt') or $ssh2->die_with_error;
print while <$chan>;
$chan->close;

注意:Net::SSH2 预装了 Strawberry Perl,因此无需安装。

注意:我也尝试过Net::OpenSSH,但无法正常工作。

【讨论】:

尝试使用$ssh2-&gt;debug(1) 启用调试输出。您是否获得了有关该错误的更多信息? @saqibriaz 这意味着您使用的是非常旧的Net::SSH2 版本。升级吧! @HåkonHægland Net::OpenSSH 在 Windows 上不起作用。 @HåkonHægland 它可以安装在 Windows 上,因为该模块的某些部分可在 Windows 上使用(与命令引用有关的部分),但由于 OpenSSH 缺少功能,主要 SSH 功能不起作用移植到 Windows。 @saqibriaz 你的机器上安装了多个 Perl 吗?

禁用“允许远程连接到此服务器”后,我仍然可以从另一台机器连接

】禁用“允许远程连接到此服务器”后,我仍然可以从另一台机器连接【英文标题】:Having"Allowremoteconnectionstothisserver"disabledIstillcanconnectfromanothermachine【发布时间】:2019-09-2320:52:26【问题描述】:我有一个带有SQLServer2017... 查看详情

使用 Linux Shell 脚本远程连接到 Cassandra 实例

...:45【问题描述】:我想从我的开发环境连接到安装在远程服务器中的Cassandra。开发环境没有安装cassandra,因此它不允许我执行以下操作来连接到我在另一台机器上运行的cassandra服务器。客 查看详情

以版本 2 运行远程 Powershell 会话

...:2015-11-0603:56:51【问题描述】:我在运行Powershell版本2的服务器上:PSC:\\>$PSVersionTableNameValue---------...PSVersion2.0然后我创建一个到另一台计算机的新远程会话并连接到它:$sess=New-PSSessi 查看详情

连接到 xampp 上的服务器脚本

】连接到xampp上的服务器脚本【英文标题】:connecttoserverscriptonxampp【发布时间】:2018-02-2007:02:31【问题描述】:我有一个远程Windows服务器2008,并在服务器上安装xampp。我写了一个服务器脚本,在服务器上,我可以用http://localhost/... 查看详情

从另一台服务器连接到 aws 服务器上的 MongoDB

】从另一台服务器连接到aws服务器上的MongoDB【英文标题】:ConnecttoMongoDBonawsServerFromAnotherServer【发布时间】:2016-09-0218:14:40【问题描述】:我正在从我的本地主机创建一个javascriptmeteor应用程序,但我希望我的数据库存储在单独... 查看详情

使用php从localhost连接到另一台服务器的数据库[关闭]

】使用php从localhost连接到另一台服务器的数据库[关闭]【英文标题】:Connectiontoadbfromlocalhosttoanotherserverwithphp[closed]【发布时间】:2015-03-2106:48:06【问题描述】:可以使用php创建从localhost到另一台服务器的mysql连接,如果可以,如... 查看详情

如何使用 Perl 通过 TCP 和 UDP 连接到远程机器?

...【发布时间】:2009-11-2108:36:12【问题描述】:我有一个在服务器上运行的脚本,我现在希望它向我的PC发送消息。我想向某个端口发送TCP或UDP消息。最好的方法是什么(教程会很棒)?是否有一些我可以在我的PC上运行的客户端... 查看详情

为啥我无法从另一台计算机连接到 openfire 服务器?

】为啥我无法从另一台计算机连接到openfire服务器?【英文标题】:WhyamIunabletoconnecttoopenfireserverfromanothercomputer?为什么我无法从另一台计算机连接到openfire服务器?【发布时间】:2013-08-0814:03:46【问题描述】:我在连接到openfire时... 查看详情

在 Heroku 上存储 SSH 密钥以通过 SFTP 将 Rails 应用程序连接到远程

...试向Heroku添加一个ssh密钥,以用于通过SFTP连接到另一台服务器:Net::SFTP.start(HOST,USER,password:PASSWO 查看详情

Eclipse 远程调试无法连接到 X 服务器

】Eclipse远程调试无法连接到X服务器【英文标题】:EclipseremotedebugcannotconnecttoXserver【发布时间】:2014-01-0716:37:10【问题描述】:我正在从一台ubuntu机器远程调试一个qt应用程序到另一台ubuntu机器。我可以从控制台做到这一点:root... 查看详情

有没有办法远程到另一台机器,并在那里连续运行多个命令(使用 perl)?

...发布时间】:2022-01-1401:05:45【问题描述】:我有一个Perl脚本。我想远程到不同的主机,并在那里运行多个命令(不是5,10而是100-150个命令)。喜欢,Scr 查看详情

从 Bash 或 Perl 脚本运行 SQL 语句?

...行一个或多个SelectSQL语句以从远程数据库中获取一些信息服务器。目前我可以使用RazorSQL和DbVisualizer等GUI工具连接到数据库并查看表、运行SQL命令等...但是, 查看详情

无法从另一台机器连接到 Geth 节点 RPC

】无法从另一台机器连接到Geth节点RPC【英文标题】:Can\'tconnecttoGethnodeRPCfromanothermachine【发布时间】:2021-08-1711:54:11【问题描述】:我在一台机器上运行Geth节点并尝试从另一台机器连接到我的Metamask上的RPC(http://127.0.0.1:8545),但... 查看详情

如何连接到远程 Windows 机器以使用 python 执行命令?

...到远程Windows机器并在那里执行命令并测试端口连接性的脚本。这是我正在编写的代码,但它不起作用。基本上,我想要它返回本地机器 查看详情

连接到远程数据库脚本后不退出

...我的问题是,我的脚本在完成所有操作后都没有退出。我创建连接、下载数据、打印数据、停止ssh连接、打印“退出”。该脚本已在server.stop()行停 查看详情

从网络中的另一台计算机连接到 localhost

...192.168.1.2/localhost时,我收到以下消息:禁止您无权访问此服务器上的/localhost。我在Apac 查看详情

连接到在另一台计算机上作为 Windows 服务运行的 WCF

...编写的Windows服务的一部分,我在另一台计算机上运行WCF服务器。我首先尝试了NetPipeBinding,现在尝试了NetTcpBindin 查看详情

如何在 perl 脚本中使用 UTF8 连接到 MySQL?

】如何在perl脚本中使用UTF8连接到MySQL?【英文标题】:HowtoconnecttoMySQLusingUTF8withinaperlscript?【发布时间】:2016-12-2923:14:54【问题描述】:简而言之:在Perl脚本中:如何以允许将四字节unicode字符U+1F61C(“????”)从perl脚本传输到My... 查看详情