sshpass-Linux命令之非交互SSH密码验证
ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。
它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。
下载如下:
https://sourceforge.net/projects/sshpass/
解压,安装
[root@localhost opt]# tar zxvf sshpass-1.06.tar.gz
[root@localhost opt]# cd sshpass-1.06/
[root@localhost sshpass-1.06]# ./configure --prefix=/opt/sshpass
[root@keep1 sshpass-1.06]# make
[root@keep1 sshpass-1.06]# make install
经过以上步骤,sshpass安装完成,输入命令 sshpass 如出现如下提示即安装成功:
[root@keep1 bin]# ./sshpass
Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
-f filename Take password to use from file
-d number Use number as file descriptor for getting password
-p password Provide password as argument (security unwise)
-e Password is passed as env-var "SSHPASS"
With no parameters - password will be taken from stdin
-P prompt Which string should sshpass search for to detect a password prompt
-v Be verbose about what you're doing
-h Show help (this screen)
-V Print version information
At most one of -f, -d, -p or -e should be used
用法:
-p password
#后跟密码
[root@zhu ~]
# sshpass -p 目标机器的root密码 ssh root@IP地址
-f filename
#后跟保存密码的文件名,密码是文件内容的第一行。
[root@zhu ~]
# cat 1.txt
123456
[root@zhu ~]
# sshpass -f 1.txt ssh root@IP地址
-e
#将环境变量SSHPASS作为密码
[root@zhu ~]
# export SSHPASS=123456
[root@zhu ~]
# sshpass -e ssh root@IP地址
sshpass -p user_password ssh -o StrictHostKeyChecking=no user_name@IP地址
【-o StrictHostKeyChecking=no 表示远程连接时不提示是否输入yes/no】
使用sshpass远程免密,在远程主机上执行shell命令,如下远程执行命令:touch /opt/file.txt
sshpass -p user_password ssh -o StrictHostKeyChecking=no user_name@IP地址 touch /opt/file.txt
[注:shell命令要和sshpass命令写在一行]
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 趁着过年的时候手搓了一个低代码框架
· 推荐一个DeepSeek 大模型的免费 API 项目!兼容OpenAI接口!