非交互式远程访问

本文介绍如何在CentOS和RHEL中使用SSHpass进行非交互式SSH登录,避免手动输入yes和密码,适用于自动化脚本。文章详细说明了SSHpass的安装方法,包括通过阿里云镜像源安装epel并使用yum安装SSHpass的过程,以及SSHpass的基本使用示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ssh中不能非交互式输入yes和密码,一般来说都用expect 来实现,但是比较麻烦,这就可以用sshpass来进行非交互式操作。

首先sshpass并不在CentOS和RHEL中,而是在Fedora的包中,作为开发版或者可以理解成先行版,Fedora中有很多好用的并且在另外两个中没有的包,其中sshpass就是一个。

要安装sshpass这个东西有2种方法,
1、找到源码包,编译安装。
2、用yum源,这个yum源要包括epel。

国内的话最好用阿里的镜像源。

在这里插入图片描述图中的就是epel源了点帮助就能看到下载方法。

在这里插入图片描述
按照版本复制执行就好了
我用的是7版本的centos

[root@www yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

或者可以点进去,安装这个,地址打上边地址栏的那些。
要安装相应版本的。
在这里插入图片描述

[root@www yum.repos.d]# rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm 

然后就可以直接yum install sshpass直接安装了。

安装后的使用方法:

[root@localhost /]# sshpass -p 000000 ssh -o StrictHostkeyChecking=no 172.16.12.15 touch /a-file
-p   //后边加的是密码
-o   StrictHostkeyChecking=no //不开启验证,因为第一次登陆的时候要输入yes嘛,有这个可以跳过yes。

后边的就和ssh一样,直接加指令了。

可以看远程的机器已经创建了这个文件

在这里插入图片描述

[root@localhost /]# sshpass -p 123 scp -P 13579 -o StrictHostkeyChecking=no /mysql_backup/20191119-* 172.16.0.29:/tmp/

-P  //这个是指定端口信息。

上边的这些指令是可以直接写到脚本中的,非交互式远程访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值