• 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 消隐

  • 相关阅读:
    HDU 5045 5047 5050 5053(上海网络赛E,F,I,L)
    Xcode 5、Xcode 6 免证书真机调试
    Ubuntu打开终端的方法三种
    JAVA异常处理机制
    Java多线程之~~~~synchronized 方法
    iphone开发技术要学习的内容
    表达式求值(数据结构书上栈的应用之中的一个)
    Java学习篇之---json-lib(Maven)
    Nginx 笔记与总结(16)nginx 负载均衡
    SPSS数据记录的选择(Select Cases)
  • 原文地址:https://www.cnblogs.com/mianbaoshu/p/9648241.html
Copyright © 2020-2023  润新知