sshpass 配置与用法介绍

参考文章:http://www.mamicode.com/info-detail-1105345.html

一、介绍

ssh登录需要与用户进行交互,需要用户输入密码

sshpass 允许使用-p参数指定明文密码

二、sshpass 用法:

1.指定密码

sshpass -p password ssh -p port user@ip  登录

sshpass -p password ssh -p port user@ip  " cmd "  执行命令

sshpass -p password scp user@ip:remote_file local  scp

2.从文件中读取密码

echo 'password' >mypasswd

sshpass -f mypasswd ssh user@ip

Notes:

使用ssh第一次登录某台服务器时,会有提示“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使

解决办法:可以在ssh命令后面加上 -o StrictHostKeyChecking=no来解决

sshpass -p password ssh -o StrictHostKeyChecking=no user@ip

 

除此之外还可以修改ssh的配置文件,在所有机器上修改/etc/ssh/ssh_config (mac中为/etc/ssh_config)文件中设置StrictHostKeyChecking no即可(默认为 #StrictHostKeyChecking ask )

3.从环境变量中获取ssh密码

export SSHPASS= "password "

sshpass -e ssh user@ip

案例:

定期修改服务器(百台左右)密码之后,验证是否修改成功

#cat server_list.cfg

web1

web2

web3

 

#cat check_passwd.sh

#!/bin/bash

ips=`cat server_list.cfg`

for ip in $ips

do

        echo ==========$ip===========

        sshpass -p "server_password" ssh root@$ip ":" 

        [ $? -eq 0 ] && echo -e  "\033[32m ==$ip==password is ok... \033[0m" || echo -e "\033[31m ==$ip==Password is error!!! \033[0m"

done

猜你喜欢

转载自www.cnblogs.com/mianbaoshu/p/9648241.html
今日推荐