zoukankan      html  css  js  c++  java
  • sshpass 用法举例

    关于sshpass

    背景

    在Linux后台中,经常会用到ssh、scp等命令。需要进行认证,手动输入密码,是交互式的过程。
    当将ssh、scp等命令做成自动化脚本时,可能需要非交互式的登录过程,此时可以用sshpass。

    使用举例

    使用-p参数指定登录密码

    # 免密码登录
    $ sshpass -p password ssh username@host
    
    # 远程执行命令
    $ sshpass -p password ssh username@host <cmd>
    
    # 通过scp上传文件
    $ sshpass -p password scp local_file root@host:remote_file 
    
    # 通过scp下载文件
    $ sshpass -p password scp root@host:remote_file local_file
    
    

    忽略RSA Key检查信息

    第一次认证时,一般会有RSA key检查的提示:

    The authenticity of host ’10.x.x.x (10.x.x.x)' can't be established.
    RSA key fingerprint is a4:eb:8c:7d:2a:ef:d6:1c:a3:0c:e8:e5:00:d2:eb:60.
    Are you sure you want to continue connecting (yes/no)?
    

    可以使用 -o StrictHostKeychecking=no选项来忽略key检查信息。
    如:

       sshpass -p "$SSH_PASSWD" ssh root@"$host" -o StrictHostKeyChecking=no "$@" 2>/dev/null 
    
    

    其他方式输入密码

    sshpass支持从文件中导入密码或者从环境变量中导入密码,使用举例:

    #从文件读取密码
        $> echo "password" > userpasswd
        $> sshpass -f userpasswd ssh username@x.x.x.x
    #从环境变量获取密码
        $> export SSHPASS="password"
        $> sshpass -e ssh username@x.x.x.x 
    
  • 相关阅读:
    MySQL主主同步方案
    Mysql增量备份与恢复
    配置合适的存储引擎
    基于Amoeba读写分离
    部署myaql主从异步复制
    MySQL完全备份操作
    echo 命令详解
    ELK 基本部署
    zabbix 简介
    基于 Git Tag 发布及回滚代码
  • 原文地址:https://www.cnblogs.com/vman/p/5530375.html
Copyright © 2011-2022 走看看