zoukankan      html  css  js  c++  java
  • sshpass用法介绍

    参考文章:http://www.mamicode.com/info-detail-1105345.html

    https://www.jianshu.com/p/a2aaa02f57dd

    1.ssh与sshpass的区别

    • ssh登录需要与用户进行交互,需要用户输入密码
    • sshpass 用于非交互的ssh密码验证,允许使用-p参数指定明文密码

    2.sshpass的用法

    使用-p参数指定密码
    • sshpass -p password ssh -p port user@ip  登录
    • sshpass -p password ssh -p port user@ip  " cmd "  执行命令
    • sshpass -p password scp -P22 user@ip:remote_file local  scp命令
    还可以加参数 -q 【去掉进度显示】

    使用ssh第一次登录某台服务器时,会有提示“Are you sure you want to continue connecting (yes/no)”,这时用sshpass会不好使  

    解决办法:可以在ssh命令后面加上 -o StrictHostKeyChecking=no来解决

    eg:sshpass -p password ssh -o StrictHostKeyChecking=no user@ip

    除此之外还可以修改ssh的配置文件,在所有机器上修改/etc/ssh/ssh_config (mac中为/etc/ssh_config)文件中设置StrictHostKeyChecking no即可(默认为 #StrictHostKeyChecking ask )

    使用-f参数从指定文件中读取密码

    echo 'password' >mypasswd

    sshpass -f mypasswd ssh user@ip

    使用-e参数从环境变量中获取ssh密码  

    export SSHPASS= "password "

    sshpass -e ssh user@ip

     

    案例:

    功能 脚本 知识点
    验证服务器是够能够成功登录

    cat check_passwd.sh

    #!/bin/bash

    ips=`cat server_list.txt`

    for ip in $ips

    do

            echo ==========$ip===========

            sshpass -p "server_password" ssh root@$ip ":" 

            [ $? -eq 0 ] && echo -e  "33[32m ==$ip==password is ok... 33[0m" || echo -e "33[31m ==$ip==Password is error!!! 33[0m"

    done

    1.server_list.txt是存放server IP的list

    2.验证是否能登陆时,使用命令ssh root@$ip ":" ,其中":"代表要在登陆到的服务器中执行的命令,如果没有这个命令,使用该命令就直接登录到远程机器中,而不会执行后续步骤

    3.shell中设置颜的格式为格式: echo -e "33[字背景颜色;字体颜色m 字符串 33[0m" 

    其中其他属性与字体颜色同时使用时用时,格式为 echo -e "33[5m 33[字背景颜色;字体颜色m 字符串 33[0m" ,其中两者顺序可以调换

    字背景颜色范围:40----49 字颜色:30-----------39   其他属性
    40:黑 
    41:深红 
    42:绿 
    43:黄色 
    44:蓝色 
    45:紫色 
    46:深绿 
    47:白色 
    30:黑 
    31:红 
    32:绿 
    33:黄 
    34:蓝色 
    35:紫色 
    36:深绿 
    37:白色

    33[0m 关闭所有属性 
    33[1m 设置高亮度 
    33[4m 下划线 
    33[5m 闪烁 
    33[7m 反显 
    33[8m 消隐

  • 相关阅读:
    python基础(十七、变量进阶
    python基础(十六、变量进阶
    python基础(十五、变量进阶
    python基础(十四、变量进阶
    python基础(十三、综合应用
    MySQL-索引失效原理
    MySQL-忘记密码
    OSI七层模型
    Python-socket通信
    Python-编程小技巧
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/9648241.html
Copyright © 2011-2022 走看看