脚本运行中, 交互是一件非常影响效率的事情.
sshpass是一款开源的python开发的工具, 可以在ssh远端主机的时候, 自动交互传密码到远程主机, 实现自动交互.
ssh首次登陆的时候, 需要同意并认可远程主机的公钥, 通常需要在第一次的时候输入yes. 如果脚本中没有选项, 很容易因为这个导致交互的失败.
ssppass的下载路径
百度搜索, 即可找到sshpass的下载路径. 比如下面的:
https://archlinux.pkgs.org/rolling/archlinux-community-x86_64/sshpass-1.06-1-x86_64.pkg.tar.xz.html
sshpass主要的作用就是ssh的时候, 远程和主机交互, 脚本执行的时候不用再次输入密码.
当然, 缺点很明显, 需要将密码明文放到里面. 我们可以以read -p的形式, 将密码在脚本的前面传入, 防止密码明文状态泄露.
sshpass的用法举例:
sshpass -p password ssh -o StrictHostKeyChecking=no lius@192.168.33.56 "ls /tmp"
-p: 指定密码
-o: ssh或scp的一个选项, StrictHostKeyChecking=no表示在第一次主机认证的时候, 自动接收远端主机密钥.
发表回复
要发表评论,您必须先登录。