sshpass 命令

前言

写 shell 脚本的时候经常需要通过 ssh 命令登录到其它机器执行命令,但是 ssh 要求交互式的输入密码,虽然可以结合 expect 使用达到目的,但是总归不方便,今天了解到可以通过 sshpass 这个命令实现非交互式指定密码登录,类似于 mysql -u root -p '123456', 通过 -p 选项指定密码。简单记录下用法

安装

ubuntu:

sudo apt install sshpass

使用样例

首次使用 sshpass 命令前需要检查 /etc/ssh/ssh_config, 将 #StrictHostKeyChecking ask 修改为StrictHostKeyChecking no, 然后 systemctl restart sshd重启ssh服务

  • 常用方式一: 免密登录远程主机
# 其中-p选项后面指定密码
sshpass -p '123456' ssh root@192.168.16.19

# 从文件的读取密码进行远程登陆
sshpass -f ~/passwd.txt ssh root@192.168.16.20
  • 常用方式二:免密传送文件
sshpass -p '123456' scp ~/Movie/bmw.ts root@192.168.16.21:/tmp
posted @ 2021-02-05 14:36  魄魄熊  阅读(522)  评论(0编辑  收藏  举报