sshpass远程执行脚本_终端-Linux命令之非交互SSH密码验证-Sshpass

本文介绍了一种使用Sshpass进行SSH连接的非交互式身份验证方法。Sshpass允许通过明文方式使用SSH,简化了远程连接过程。文章详细解释了如何在不同系统中安装Sshpass,并提供了多种使用场景示例,包括简单的SSH连接、指定端口的连接、从文件读取密码等。
摘要由CSDN通过智能技术生成

Sshpass是使用SSH所谓的“交互式键盘密码身份验证”以非交互方式执行密码身份验证的工具

cca55f7b2278e528424db2b06ddecd52.png

通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图,需要交互的输入密码。

7ec97ede2bd0b206f925a83829815aa6.png

而Sshpass 做的就是通过明文的方式使用ssh,并带来了一些更新鲜的特性

安装

  • macOS - brew下载安装
 # 安装命令 brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb # 连接到/usr/local/bin (如果提示 command not found) cd /usr/local/bin ln -s sshpass ../Cellar/sshpass/1.06/bin/sshpass
  • Debian - apt install sshpass
  • Centos - yum install sshpass
  • 源码安装
 $ wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz $ tar -xvf sshpass.tar.gz $ cd sshpass-1.06 $ ./configure # sudo make install 

使用

# 简单使用,使用密码 XXX 连接Ip的默认sshsshpass -p "XXX" ssh user@IP
49c18cd54cd341a1f14a9f9bf961a5da.png

高级

  • 远程连接指定ssh的端口
  • sshpass -p {密码} ssh -p ${端口} {用户名}@{主机IP}
  • 从密码文件读取文件内容作为密码去远程连接主机
  • sshpass -f ${密码文本文件} ssh {用户名}@{主机IP}
  • 从远程主机上拉取文件到本地
  • sshpass -p {密码} scp {用户名}@{主机IP}:${远程主机目录} ${本地主机目录}
  • 将主机目录文件拷贝至远程主机目录
  • sshpass -p {密码} scp ${本地主机目录} {用户名}@{主机IP}:${远程主机目录}
  • 远程连接主机并执行命令
  • sshpass -p {密码} ssh -o StrictHostKeyChecking=no {用户名}@{主机IP} 'rm -rf /tmp/test'

-o StrictHostKeyChecking=no :忽略密码提示

b0f56364451213be37cea9fb71084041.png

更多

更多优秀工具,请关注微信公众号获取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值