一、简介
在进行ssh操作时,通常需要手动输入密码。这里介绍工具sshpass,可以提前填充密码,进行ssh操作。
二、安装
sudo apt-get install sshpass
三、配置
通过sshpass提前填充密码且生效,需要先进行配置,方式有两种:
1、提前通过ssh连接上远程机器
如:
ssh user@192.168.0.1
输入密码
2、修改本地ssh配置
a、修改/etc/ssh/ssh_config文件
sudo vim /etc/ssh/ssh_config
StrictHostKeyChecking ask 改为 StrictHostKeyChecking no
b、修改sudo vim /etc/sshd/ssh_config文件
GSSAPIAuthentication no 打开注释
UseDNS no 打开注释
c、重启ssh:service sshd restart
四、使用
sshpass使用格式为 sshpass [-ffilename|-dnum|-ppassword|-e] [options] command arguments
常用参数:
-p:直接输入密码;
-f:从文件中获取密码;
-e:从环境变量SSHPASS中获取密码(通过设置export SSHPASS=xxx);
五、示例
#直接输入密码登录 sshpass -p xxx ssh user@192.168.0.1 #以密码文件登录,p.txt保存密码 sshpass -f p.txt ssh user@192.168.0.1 #从环境变量中获取密码登录,提前设置环境变量 export SSHPASS=xxx sshpass -e ssh user@192.168.0.1 #执行命令(-f和-e使用同上) sshpass -p xxx ssh user@192.168.0.1 "ls /home" #文件复制,复制到本地(-f和-e使用同上) sshpass -p xxx scp user@192.168.0.1:/home/t.txt /home/