sshpass 的定义:ssh 登录不能在命令行中指定密码,sshpass 的出现则解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。
1、 下载sshpass tar包 wget http://downloads.sourceforge.net/project/sshpass/sshpass/1.06/sshpass-1.06.tar.gz 2、 解压tar包 tar -xzf sshpass-1.06.tar.gz cd sshpass-1.06 3、编译并安装sshpass ./configure make &&make install
使用:
sshpass -p "password" ssh -o "StrictHostKeyChecking no" root@$host 'll'
如:sshpass -p "tophant@123" ssh -o "StrictHostKeyChecking no" root@192.168.213.16 "cd /home"
注意:远程执行命令时,awk中的$要转义
sshpass -p "tophant@123" ssh -o "StrictHostKeyChecking no" root@192.168.213.16 "md5sum /data/ftp_data/pcap/auto_test.tar.gz |awk '{print \$1}'"