免密码 ssh 登录,大家都知道用 rsa/dsa 证书即可。但是某些设备并不支持证书登录,如部分型号的硬件防火墙。那么如何实现免交互式输入 ssh 密码呢,这里介绍下
sshpass
这个小工具。01.Introduction
sshpass 是一个轻量级(16K)的 CLI 工具,可以实现 ssh 免输入密码(非交互式)登录远程服务器,这样就可以在本地脚本或者 cron 任务中远程登录服务器执行命令。
在别人的博文中看到使用 sshpass ,本地系统上其他用户用ps -ef
命令可以看到明文的密码,不过我测试发现密码部分其实被替换为 zzzzzzz 了,也许是版本不同的原因。本文中版本为1.0.6
02.HowTO
帮助:
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
-h Show help (this screen)
-V Print version information
At most one of -f, -d, -p or -e should be used
实例:
sshpass -p 111111 ssh root@192.168.1.1 "echo 'hello world!'"
Comments
Post a Comment
https://gengwg.blogspot.com/