sshpass-Linux命令之非交互SSH密码验证
ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。
它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。
安装步骤如下:
1. 下载
sshpass下载地址:http://sourceforge.net/projects/sshpass/ 下载为一个 tar.gz的压缩包。
2.把tar.gz的压缩包 上传到linux服务器,此处以sshpass-1.06.tar.gz为例,服务器存放目录为/user/
3.到user目录下,执行:cd /user
4.解压缩
tar -zxvf sshpass-1.06.tar.gz
5.进入解压后的文件目录
执行:cd sshpass-1.06
6.指定安装目录
执行:./configure --prefix=/user/sshpass
说明:/user/sshpass就是安装sshpass的路径。
7.加载
执行:make
再执行:make install
8.复制
执行:cp /user/sshpass/bin/sshpass /usr/bin/
说明:/user/sshpass是安装sshpass的路径。
9.检验是否安装成功
执行:sshpass
出现如下提示即安装成功:在这里插入图片描述10.使用
sshpass -p ‘密码’ scp -r root@192.168.0.4:/user/count_fille.txt /user/
说明如下:在这里插入图片描述注意:对于ssh的第一次登陆,会提示:“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使,可以在ssh命令后面加上 -o StrictHostKeyChecking=no来解决

11.如需定时执行
(1)生成一个.sh的文件,
执行:vi testsshpass.sh
然后把下面的粘贴进去,并保存
#!/bin/sh
sshpass -p ‘密码’ scp -r root@192.168.0.4:/user/count_fille.txt /user/
(2)授权
chmod +x testsshpass.sh
(3)添加任务计划
执行:crontab -e
添加如下内容
30 11 * * * /user/testsshpass.sh
保存后,再执行service crond restart

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐