Shell 脚本 ssh免密码 登录 远程服务器 sshpass用法示例
Linux机器日常运维过程中,经常需要在本地运行脚本执行针对远程主机的命令。正常情况下,ssh登陆远程机器时会提示输入密码,这会影响到脚本的自动执行,(因为shell脚本中没有自动填充密码的命令)。ssh登陆不能在命令行中指定密码,需要用户交互输入密码,sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。它支持密码从命令行、文件、环境变量中读取。1、
Linux机器日常运维过程中,经常需要在本地运行脚本执行针对远程主机的命令。正常情况下,ssh登陆远程机器时会提示输入密码,这会影响到脚本的自动执行,(因为shell脚本中没有自动填充密码的命令)。
ssh登陆不能在命令行中指定密码,需要用户交互输入密码,sshpass 的出现,解决了这一问题。它允许你用 -p 参数指定明文密码,然后直接登录远程服务器。
它支持密码从命令行、文件、环境变量中读取。
1、下载:
sudo apt-get install sshpass来安装。
2、sshpass用法和命令介绍
3、用法范例
从当前服务器新建一个名叫ssh_remote_test.sh的文件。
vim ssh_remote_test.sh
#!/bin/bash
sshpass -p 123456 ssh shijianfeng@192.168.64.137 'cd ~/fisco/192.168.64.137/node0 && ls'
其中,远程服务器的ip是192.168.64.137,用户为shijiafeng,密码为123456
登录成功之后执行命令'cd ~/fisco/192.168.64.137/node0 && ls'
保存。
脚本成功通过sshpass工具实现了免密码登录远程服务器。
4. 若是第一次没有反应
则使用ssh先登录一遍,再试
Shell脚本免密码登录远程服务器(方法一)_猪笨是念来过倒的博客-CSDN博客_shell免密登录
使用sshpass传输文件
使用方法:
1、sshpass -p 123456 ssh admin@1.1.1.1 "touch file" 远程创建文件file
2、sshpass -p 123456 scp file1 admin@1.1.1.2:~ 把本地文件file1传入远程机器1.1.1.2上的用户目录下
更多推荐
所有评论(0)