sshpass 配置与用法介绍
Posted mianbaoshu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sshpass 配置与用法介绍相关的知识,希望对你有一定的参考价值。
参考文章:http://www.mamicode.com/info-detail-1105345.html
一、介绍
ssh登录需要与用户进行交互,需要用户输入密码
sshpass 允许使用-p参数指定明文密码
二、sshpass 用法:
1.指定密码
sshpass -p password ssh -p port [email protected] 登录
sshpass -p password ssh -p port [email protected] " cmd " 执行命令
sshpass -p password scp [email protected]:remote_file local scp
2.从文件中读取密码
echo ‘password‘ >mypasswd
sshpass -f mypasswd ssh [email protected]
Notes:
使用ssh第一次登录某台服务器时,会有提示“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使
解决办法:可以在ssh命令后面加上 -o StrictHostKeyChecking=no来解决
sshpass -p password ssh -o StrictHostKeyChecking=no [email protected]
除此之外还可以修改ssh的配置文件,在所有机器上修改/etc/ssh/ssh_config (mac中为/etc/ssh_config)文件中设置StrictHostKeyChecking no即可(默认为 #StrictHostKeyChecking ask )
3.从环境变量中获取ssh密码
export SSHPASS= "password "
sshpass -e ssh [email protected]
案例:
定期修改服务器(百台左右)密码之后,验证是否修改成功
#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 [email protected]$ip ":"
[ $? -eq 0 ] && echo -e " 33[32m ==$ip==password is ok... 33[0m" || echo -e " 33[31m ==$ip==Password is error!!! 33[0m"
done
以上是关于sshpass 配置与用法介绍的主要内容,如果未能解决你的问题,请参考以下文章