SSH 非交互式密码验证调用远程主机执行shell脚本

内容

#!/bin/sh
    
echo "hello"
PASS_WORD=pw123456
USERNAME=root
IP=192.168.0.1

echo "----SSH----"
sshpass -p $PASS_WORD ssh -o StrictHostKeyChecking=no $USERNAME@$IP -tt "sh /home/sh1.sh"

参数解释

sshpass

sshpass 是一个简单、轻量级的命令行工具,通过它我们能够向命令提示符本身提供密码(非交互式密码验证)

安装:

  • yum install sshpass

本地调用远程主机执行命令:

  • sshpass -p xxx ssh root@192.168.0.1 "echo hello"

从密码文件读取文件内容作为密码操作:

  • sshpass -f xxx.txt  ssh root@192.168.0.1

-tt

强制伪终端分配,否则因为标准输入不是终端可能出现报错:

Pseudo-terminal will not be allocated because stdin is not a terminal.

-o StrictHostKeyChecking=no

连接新主机时,不进行公钥确认。如果不加这个参数,初次连接远程主机时会显示该主机的公钥摘要,并需要输入“yes”来是信任该主机,shell操作十分不方便:

The authenticity of host '192.168.0.110 (192.168.0.110)' can't be established.
RSA key fingerprint is a3:ca:ad:95:a1:45:d2:57:3a:e9:e7:75:a8:4c:1f:9f.
Are you sure you want to continue connecting (yes/no)?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值