zoukankan      html  css  js  c++  java
  • python 中sshpass的使用

    如何用SSH连接远程服务器有两种方式

    1.利用远程软件控制:sshclient、Puttty、secureCRT等

    2、终端命令 ssh -p 22 root@服务器ip  密码需要手工交互式输入(22: 端口号 root: 用户名)

        ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,可以 -p 参数指定明文密码,然后直接登录远程服务器,支持密码从命令行、文件、环境变量中读取。

    其默认没有安装,需要手动安装,方法如下:

    sshpass下载地址:http://sourceforge.net/projects/sshpass/ 下载为一个 tar.gz的压缩包。

    $ tar -zxvf sshpass-1.05.tar.gz

    $ cd sshpass-1.05

    $ ./configure --prefix=/opt/sshpass #指定安装目录

    $ make

    $ make install

    $ cp /opt/sshpass/bin/sshpass /usr/bin/

    输入命令 sshpass 如下提示即安装成功:

    2.用法介绍

    # 免密码登录
    $ sshpass -p password ssh username@host
    sshpass -p A123456 ssh root@192.168.56.102
    #从文件获取密码
    $sshpass -f userpasswd.txt  ssh root@192.168.56.102
    #从环境变量获取密码
     $> export SSHPASS="password"
     $> sshpass -e ssh username@x.x.x.x 
    # 远程执行命令 $ 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
    # 循环执行多台机器的命令
    for in $(cat /root/1.txt)
    do
    echo $i
    sshpass -p123456 ssh root@$i 'ls -l'
    done
     

    忽略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 

     

  • 相关阅读:
    iOS应用程序的登录界面
    访问Mac下virtualbox中的win8.1虚拟机
    JASIG-CAS学习笔记——初探CAS
    跨域读取Cookies(续)
    跨域读取Cookies
    错误——无法找到com/* /* /**.xml
    设计模式学习之——简单工厂、工厂方法、抽象工厂方法
    spring+ibatis+dwr+ext项目整合
    SenchaTouch学习——form表单
    FLEX自定义事件
  • 原文地址:https://www.cnblogs.com/yoyo008/p/9488169.html
Copyright © 2011-2022 走看看