sshpass 用法举例

参考链接:https://www.cnblogs.com/nf01/articles/10756100.html

背景:
在Linux后台中,经常会用到ssh、scp等命令。需要进行认证,手动输入密码,是交互式的过程。
当将ssh、scp等命令做成自动化脚本时,可能需要非交互式的登录过程,此时可以用sshpass。

使用举例
使用-p参数指定登录密码

免密码登录

$ sshpass -p password ssh username@host

远程执行命令

$ sshpass -p password ssh username@host

通过scp上传文件

$ sshpass -p password scp local_file root@host:remote_file

通过scp下载文件

$ sshpass -p password scp root@host:remote_file local_file
忽略RSA Key检查信息
第一次认证时,一般会有RSA key检查的提示:

The authenticity of host ’10.x.x.x (10.x.x.x)’ can’t be established.
RSA key fingerprint is a4:eb:8c:7d:2a:ef:d6:1c:a3:0c:e8:e5:00:d2:eb:60.
Are you sure you want to continue connecting (yes/no)?
可以使用-o StrictHostKeychecking=no选项来忽略key检查信息。
如:

sshpass -p “SSHPASSWD"sshroot@"SSH_PASSWD" ssh root@"SSHPASSWD"sshroot@"host” -o StrictHostKeyChecking=no “$@” 2>/dev/null
其他方式输入密码
sshpass支持从文件中导入密码或者从环境变量中导入密码,使用举例:

#从文件读取密码
$> echo “password” > userpasswd
$> sshpass -f userpasswd ssh username@x.x.x.x
#从环境变量获取密码
$> export SSHPASS=“password”
$> sshpass -e ssh username@x.x.x.x

ssh用法:
ssh -p1433 paasadmin@10.145.167.65 ‘sudo sh -c “echo “sshd:10.145.166.*”>>/etc/hosts.allow”’

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cfb37

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值