想在shell脚本里ssh连接到另外一台服务器后执行一些命令,但是不希望通过交互方式输入登录密码。主要的解决方法有三种:1.生成ssh公钥,建立和对方机器的信任关系;2.使用expect脚本;3.使用sshpass这里介绍一下sshpassyuminstallsshpass-y实例:[root@fsbin]#./sshpass-p12345..
分类:
其他好文 时间:
2016-02-21 18:45:33
阅读次数:
201
目的:每天将A服务器(192.168.0.23)上的文件复制到B服务器(192.168.0.25)上,如果已经存在则不复制。思路:首先统一服务器时间,避免出现莫名的错误或者管理上的混乱。用NTP由于是跨服务器复制,涉及到密码自动录入的问题。需要解决。用scp复制,会覆盖已经存在的文件,增..
分类:
系统相关 时间:
2016-02-02 23:26:22
阅读次数:
539
--stdin表示可以用任意文件做标准输入expect它主要的功能是给ssh进程加个壳,用来传递交互指令。它的核心是spawnexpectsendsetspawn调用要执行的命令expect等待命令提示信息的出现,也就是捕捉用户输入的提示:send发送需要交互的值,替代了用户手动输入内容set设置变量值intera..
分类:
系统相关 时间:
2016-01-29 21:25:18
阅读次数:
379
centos shell编程4【分发系统】 第三十八节课http://www.cnblogs.com/MYSQLZOUQI/p/4811790.htmlmkpasswd 生成密码的工具,安装 expect包yum install -y expect上半节课下半节课f
分类:
系统相关 时间:
2016-01-26 23:24:33
阅读次数:
210
脚本实现功能:批量或单个SSH免交互登录认证脚本应用场景:当部署集群时,大多数实现要配置好管理节点与从节点的SSH免交互登录,针对这样的情况,写了下面脚本,简化工作。#!/bin/bash
#blog:http://lizhenliang.blog.51cto.com
color_echo(){
if[$1=="green"];then
echo-e"\..
分类:
系统相关 时间:
2016-01-18 21:04:01
阅读次数:
394
背景:在远程文件下载时,需要输入对方的服务器密码,shell不支持交互输入内容,可以用下面两种方式实现一.在shell脚本中嵌入expect来实现密码输入expect是一个自动交互功能的工具。expect是开了一个子进程,通过spawn来执行shell脚本,监测到脚本的返回结果,通过expect判断...
分类:
系统相关 时间:
2016-01-16 01:31:23
阅读次数:
676
通常会有多台服务器需要同时修改密码,此时可不必一台一台去操作,可以借用expect工具实现批量密码修改工作。在执行脚本的机器上安装expect,使用rpm包安装时需要依赖tcl包,也可使用yum安装,使用mkpasswd生成密码,一次生成一次,可多次运行。#mkpasswd-l16-s3#-l指定密码为16..
分类:
系统相关 时间:
2016-01-14 12:36:43
阅读次数:
268
一、Expect简介在远程服务器执行某项任务,这是最正常不过了,如何有效自动的执行呢?这里介绍自动交互脚本expect的使用。Expect是一个简单的工具语言,功能就是进行自动化的人机交互。它的作者对Expect的定义:是一个实现自动交互功能的软件套件(asoftwaresuiteforautomating..
分类:
其他好文 时间:
2016-01-12 19:44:39
阅读次数:
156
a) spawn: spawn命令是Expect的初始命令,它用于启动一个进程,之后所有expect操作都在这个进程中进行,如果没有spawn语句,整个expect就无法再进行下去了,使用方法就像下面这样: spawnssh root@192.168.0.1在spawn命令后面,直接加上要启动的进程...
分类:
其他好文 时间:
2015-12-29 19:08:50
阅读次数:
267