• 终端-Linux命令之非交互SSH密码验证-Sshpass


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

    image-20191009094225271

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

    image-20191009094651029

    而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的默认ssh
    sshpass -p "XXX" ssh user@IP
    

    image-20191009092431415

    高级

    • 远程连接指定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 :忽略密码提示
      image-20191009093654515

    更多

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

    wx

    本文由博客一文多发平台 OpenWrite 发布!

  • 相关阅读:
    浅谈C++多态性
    OSI七层模型具体解释
    文本框仅仅同意输入数字
    MessageDigest简单介绍
    CF 161D Distance in Tree【树DP】
    第六届蓝桥杯JavaA组国(决)赛真题
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
    Java实现 蓝桥杯 历届真题 稍大的串
  • 原文地址:https://www.cnblogs.com/cchao1024/p/11669720.html
Copyright © 2020-2023  润新知