..

sshpass 介绍

sshpass 是一个命令行 ssh 客户端,能够用非交互的方式使用账号密码登陆 ssh 服务.

安装

Centos

sudo yum install sshpass

Archlinux

sudo pacman -S sshpass

使用

命令行选项

Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
   -f filename   从文件读取密码
   -d number     从已经打开的文件描述符种读取密码
   -p password   密码
   -e            从环境变量 SSHPASS 种读取密码
   如果不提供上面参数,将会从标准输入种读取密码

   -P prompt     Which string should sshpass search for to detect a password prompt
   -v            打印连接详情
   -h            打印帮助信息
   -V            打印版本信息
At most one of -f, -d, -p or -e should be used

常规的用法通过 -p 提供参数

sshpass -p 't@uyM59bQ' ssh username@server.example.com

从环境变量读取密码

SSHPASS='t@uyM59bQ' sshpass -e ssh -o StrictHostKeyChecking=no vivek@server42.cyberciti.biz

从文件读取密码

sshpass -f fileNameHere ssh user@server

通过 rsync 来传输文件

rsync --rsh="sshpass -p myPassword ssh -l username" server.example.com:/var/www/html/ /backup/