sshpass命令的使用方法

sshpass:用于非交互的ssh 密码验证

使用 -p 参数指定明文密码,然后直接登录远程服务器。 它支持密码从命令行,文件,环境变量中读取

应用范围:可以在命令行直接使用密码来进行远程连接和远程拉取文件。

使用前提:对于未连接过的主机。而又不输入yes进行确认,需要进行sshd服务的优化:

# vim /etc/ssh/ssh_config   
StrictHostKeyChecking no
# vim /etc/ssh/sshd_config  
GSSAPIAuthentication no
UseDNS no# service sshd restart

sshpass 命令的安装:

# yum -y install sshpass

1、从命令行方式传递密码

sshpass -p user_password ssh [email protected] 【登录远程机器】
sshpass -p user_password scp -P22 [email protected]:/home/test ./ 【远程机器/home/test 复制到本机当前目录】
还可以加参数 -q 【去掉进度显示】

2、从文件读取密码

echo "user_password" > user.passwd
sshpass -f user.passwd ssh [email protected]

3、从环境变量获取密码

export SSHPASS="user_password"
sshpass -e ssh [email protected]

4、取消首次连接应答检测秘钥

sshpass -p user_password ssh -o StrictHostKeyChecking=no [email protected]
【-o StrictHostKeyChecking=no 表示远程连接时不提示是否输入yes/no】

5、使用sshpass远程免密

在远程主机上执行shell命令,如下远程执行命令:touch /opt/file.txt

sshpass -p user_password ssh -o StrictHostKeyChecking=no [email protected] touch /opt/file.txt
[注:shell命令要和sshpass命令写在一行]

6、sshpass远程ssh到目标机器执行命令

sshpass -p密码 ssh -o StrictHostKeyChecking=no 用户@IP "cmd"
一般若是提示命令未找到,大概原因是使用了命令的别名,如:ll 得换成 ls -l

 

 

版权声明:
作者:WaterBear
链接:https://l-t.top/2237.html
来源:雷霆运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录