zoukankan      html  css  js  c++  java
  • sshpass笔记

    sshpass简介

    ssh登录的时候使用的是交互式输入,不能预先在命令行使用参数指定密码,sshpass就是为了解决这个问题的。sshpass提供非交互式输入密码的方式,可以用在shell脚本中自动输入密码。

    比如在执行ssh、scp、rsync等命令时可以使用sshpass来实现预先指定密码。

    安装

    CentOS使用yum安装即可:

    yum install sshpass

    使用

    -p指定明文密码

    使用-p选项在ssh登录的时候指定明文密码:

    sshpass -p nopasswd ssh root@localhost

    使用-p选项在拷贝文件的时候指定密码:

    sshpass -p nopasswd scp root@localhost:~/free_buff.sh /usr/bin

    指定明文密码的方式简单方便,但是密码容易暴露,比如登录到某台机器上执行一个命令:

    sshpass -p nopasswd ssh root@localhost 'sleep 1024'

    然后使用ps -ef查看:

    image

    哈,密码打码了...

    -e从环境变量读入密码

    如果不想明文指定密码的话,可以先将密码设置到一个叫做SSHPASS的环境变量中,然后使用-e选项它就会自己去这个变量中取密码。

    比如:

    export SSHPASS=nopasswd
    sshpass -e ssh root@localhost 'sleep 10'

    sshpass会自动去名为SSHPASS的变量中读到密码nopasswd,然后使用这个密码来作为后面ssh的登录密码。

    -f从文件读取密码

    使用-f指定从一个文件中读取密码,比如:

    sshpass -f /root/shell/passwd_file ssh root@localhost 'echo ok'

    sshpass指定时会去读取/root/shell/passwd_file的内容,然后将读到的内容当做后面ssh的密码输入。

    从标准输入读取密码

    如果没有使用-f/-d/-p/-e中的任何一个,那么将从stdin读入密码。

    sshpass  ssh root@localhost 'echo ok'

    帮助手册

    Usage: sshpass [-f|-d|-p|-e] [-hV] command parameters
       -f filename   Take password to use from file
       -d number     Use number as file descriptor for getting password
       -p password   Provide password as argument (security unwise)
       -e            Password is passed as env-var "SSHPASS"
       With no parameters - password will be taken from stdin
    
       -P prompt     Which string should sshpass search for to detect a password prompt
       -v            Be verbose about what you're doing
       -h            Show help (this screen)
       -V            Print version information
    At most one of -f, -d, -p or -e should be used
    

    .

  • 相关阅读:
    [转载]重构代码的7个阶段
    查看JDK源码
    敏捷结果30天之第七天:设定边界值和缓冲
    敏捷结果30天之第十一天:高效能、慢生活
    他们到底需要神马???——戏说“用户需求”
    敏捷结果30天之第一天:总体认识敏捷结果方法
    敏捷结果30天之第五天:使用热图标识出重要事情
    重构代码学习笔记一:重构的原则
    开发可统计单词个数的Android驱动程序(2)
    使用Android NDK和Java测试Linux驱动
  • 原文地址:https://www.cnblogs.com/cc11001100/p/7979544.html
Copyright © 2011-2022 走看看