共计 1253 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | 经常我们使用脚本登入服务器的时候,如果使用 ssh 命令,经常会提示密码输入,我们不得不手动输入密码,因为 ssh 没有 密码的选项。为了能绕过交互式验证,我们使用 sshpass 命令解决这个问题: |
1. 安装
➜ Desktop sudo yum install sshpass | |
[sudo] password for xuyaowen: | |
Last metadata expiration check: 0:04:22 ago on Mon 02 Jul 2018 11:25:32 AM CST. | |
Package sshpass-1.06-5.fc28.x86_64 is already installed, skipping. | |
Dependencies resolved. | |
Nothing to do. | |
Complete! |
检查是否安装
[ | ]|
sshpass-1.06-5.fc28.x86_64 |
2. 查看 sshpass 命令帮助, 也可以使用 man sshpass
View Code
[root@yaowenxu Desktop]# 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 |
3. 使用密码验证登录
➜ ~ sshpass -p 123 ssh root@10.66.65.15
4. ssh 第一次登录提示问题使用:
ssh -o StrictHostKeyChecking=no
来解决
➜ Desktop sshpass -p 123 ssh -o StrictHostKeyChecking=no root@10.66.8.142 | |
Warning: Permanently added '10.66.8.142' (ECDSA) to the list of known hosts. | |
Last login: Mon Jul 2 10:51:29 2018 |
5. 优缺点
优点:快速,便捷
缺点:密码明文暴露,可以使用 history 命令查找到
正文完
星哥玩云-微信公众号
