`
luolonghao
  • 浏览: 119130 次
  • 性别: Icon_minigender_1
  • 来自: Shanghai
社区版块
存档分类
最新评论

用Net::SSH::Perl和Net::SCP::Expect写部署脚本

阅读更多
一般写shell脚本多台服务器之间进行操作要打通密码,就是公私钥认证方式。如果用Perl的Net::SSH::Perl和Net::SCP::Expect库不需要创建公私钥,直接用原有ssh帐户就可以实现部署脚本的自动化。

安装方法:
cpan -i Net::SSH::Perl
cpan -i Net::SCP::Expect

注:Net::SSH::Perl依赖gmp,我在mac os上刚开始安装gmp5会报错,换gmp4就没问题。

Net::SSH::Perl:
#查看192.168.1.102服务器的/tmp目录下的文件
my $ssh = Net::SSH::Perl->new('192.168.1.102');
$ssh->login('user', 'password');
$ssh->cmd('ls -al /tmp/');

更多文档:http://search.cpan.org/~bnegrao/Net-SSH-Expect-1.09/lib/Net/SSH/Expect.pod

Net::SCP::Expect:
#将test.tar.gz文件复制到192.168.1.102服务器的/tmp目录下
my $scpe = Net::SCP::Expect->new;
$scpe->login('user', ’password‘);
$scpe->scp("/tmp/test.tar.gz", '192.168.1.102:/tmp/');

更多文档:http://search.cpan.org/~turnstep/Net-SSH-Perl-1.34/lib/Net/SSH/Perl.pm
分享到:
评论

相关推荐

    通过shell脚本执行scp和ssh命令

    通过shell脚本执行scp和ssh命令

    使用ssh、scp不需要密码

    "使用ssh、scp不需要密码" ssh 和scp 是 Linux 系统中常用的远程登陆和文件传输工具,但是使用它们需要输入密码,这就带来了不便。...使用 Expect 和 Pexpect 可以自动化密钥对生成过程,提高工作效率。

    scp分发文件的perl脚本

    使用scp向指定的机器列表指定路径复制文件的脚本,可用于集群批量操作;

    SSH-SCP使用方法

    ### SSH-SCP使用方法详解 #### 一、概述 SSH (Secure Shell) 是一种网络协议,用于计算机之间的安全登录及数据传输。SCP (Secure Copy Protocol) 是基于SSH协议的一个应用,用于安全地在不同主机之间复制文件。SCP...

    shell结合expect写的批量scp脚本工具

    但我到现在还在对python的恐惧之中(虽然已经在空闲时间努力去学习了),所以使用了shell和expect脚本结合的方式,写了这个批量scp的脚本工具。 expect用于自动化地执行linux环境下的命令行交互任务,例如scp、ssh...

    ssh脚本,ssh脚本,ssh脚本

    通过学习和熟练掌握这些SSH脚本知识点,你将能够创建高效且安全的自动化运维脚本,无论是用于日常管理任务还是大规模部署场景,都能大大提高工作效率。在实际应用中,不断实践和优化你的脚本,使其更加健壮和适应性...

    bash脚本中将密码传递给ssh/scp命令方法详解

    总结来说,通过使用`sshpass`或密钥对认证,可以在bash脚本中自动化处理SSH和SCP命令,而无需人工干预输入密码。这种方式极大地提高了自动化任务的安全性和效率。但是,强烈建议使用密钥对,因为它提供了更好的安全...

    C#版SSH、SCP,可作为客户端连结LINUX源码

    标题中的"C#版SSH、SCP,可作为客户端连结LINUX源码"表明这是一个使用C#编程语言实现的SSH(Secure Shell)和SCP(Secure Copy)客户端库,用于连接Linux服务器。SSH是一种网络协议,用于安全地远程登录到服务器,...

    SSH脚本文件.zip

    2. **SSH脚本编写**:SSH脚本是用Shell语言(如bash)编写的,包含了多个SSH命令行。在脚本中,可以使用循环、条件语句等高级功能。例如,`for`循环可用于遍历文件列表并逐个上传到远程服务器。 3. **批量文件传输*...

    使用Ant进行ssh和scp操作

    在Ant中集成SSH和SCP能力,可以方便地实现远程服务器的部署、文件传输等操作。 首先,要进行SSH和SCP操作,我们需要依赖一些库,这些库在提供的压缩包文件名列表中已经列出: 1. j2ssh-core-0.2.9.jar:这是J2SSH...

    14.Shell脚本编程之expect.md

    通过使用 Expect,可以将原本需要手动进行的操作,例如 SSH 登录、FTP 登录等,编写成脚本自动执行。这在需要对多台服务器执行相同操作的场景下尤其有用,能够显著提高系统管理员的工作效率。 ### 2. 安装 Expect ...

    Linux下SSH及SCP命令简单使用

    SCP(Secure Copy Protocol)是一种基于SSH协议的命令行工具,用于在本地和远程主机之间安全地传输文件。 Linux下SSH命令的基本使用方法包括远程连接到一台支持SSH服务的远程主机。远程主机必须开启SSH服务,并且...

    Linux使用scp命令进行文件远程拷贝详解

    -1: 强制scp命令使用协议ssh1 -2: 强制scp命令使用协议ssh2 -4: 强制scp命令只使用IPv4寻址 -6: 强制scp命令只使用IPv6寻址 -B: 使用批处理模式(传输过程中不询问传输口令或短语) -C: 允许压缩。(将-C标志...

    Renci.SshNet.dll及其文档和实现SSH、SCP、FTP等操作的小例子

    Renci.SshNet是一个.NET库,它为开发者提供了一种方便的方式来实现Secure Shell (SSH) 协议,包括Secure Copy (SCP) 和File Transfer Protocol (FTP) 的功能。这个库主要用于安全地远程连接到服务器,执行命令,传输...

    ssh协议依赖jar包:ganymed-ssh2-build

    在实际应用中,Ganymed SSH-2库广泛应用于自动化运维脚本、远程系统管理工具、持续集成/持续部署(CI/CD)流程以及任何需要安全远程访问的Java项目中。由于其强大的功能和易于使用的API,它成为了Java开发者实现SSH...

    ssh,scp 连接远程ssh非22端口的服务器方法

    总结来说,SSH和SCP都是非常重要的远程管理工具,它们提供了安全的远程登录和文件传输功能。通过指定端口号的方式,我们可以方便地连接到运行非标准SSH端口的服务器上。同时,SFTP作为一种更加强大的文件传输协议,...

    mysql mha0.58 rhel7依赖包

    3. **Net::SCP::Expect**:基于Net::SSH::Perl的扩展,用于SCP(Secure Copy Protocol)操作,能够在SSH会话中执行文件的上传和下载。 4. **DBI** 和 **DBD::MySQL**:这两个Perl模块提供与MySQL数据库的接口,使得...

    C#的linux-ssh&scp;封装

    在C#中实现SSH和SCP功能,通常会使用开源库,如SharpSSH、SSH.NET或更现代的Renci.SshNet。 WugSshLib这个库可能包含以下功能: 1. **连接与认证**:库应该提供建立SSH连接的方法,包括使用用户名、密码、公钥私钥...

Global site tag (gtag.js) - Google Analytics