zoukankan      html  css  js  c++  java
  • 如何使用sshpass在Linux中进行SSH密码自动化

    您可以sshpass使用以下简单命令进行安装:
    # yum install sshpass
    在sshpass选项之后指定要运行的命令。通常,该命令ssh带有参数,但也可以是任何其他命令。不过,目前SSH密码提示已硬编码为sshpass。
    该sshpass命令的概要描述如下:
    sshpass [-ffilename|-dnum|-ppassword|-e] [options] command arguments
    其中:
    -ppassword
    密码在命令行中给出。
    -ffilename
    密码是文件文件名的第一行。
    -dnumber
    number是sshpass从运行程序继承的文件描述符。从打开的文件描述符读取密码。
    - e
    密码取自环境变量“SSHPASS”。
    例子
    为了更好地理解的价值和用途sshpass,我们来看一些带有几个不同实用程序的示例,包括SSH,Rsync,Scp和GPG。
    示例1:SSH
    用于sshpass通过SSH登录到远程服务器。假设密码为!4u2tryhack。以下是使用sshpass选项的几种方法。
    答:使用-p(这是最不安全的选择,不应使用):
    $ sshpass -p !4u2tryhack ssh username@host.example.com
    -p在shell脚本中使用时,该选项如下所示:
    $ sshpass -p !4u2tryhack ssh -o StrictHostKeyChecking=no username@host.example.com
    B.使用-f选项(密码应该是文件名的第一行):
    $ echo '!4u2tryhack' >pass_file
    $ chmod 0400 pass_file
    $ sshpass -f pass_file ssh username@host.example.com
    -f在shell脚本中使用以下选项:
    $ sshpass -f pass_file ssh -o StrictHostKeyChecking=no username@host.example.com
    C.使用-e选项(密码应该是文件名的第一行):
    $ SSHPASS='!4u2tryhack' sshpass -e ssh username@host.example.com
    -e在shell脚本中使用时,该选项如下所示:
    $ SSHPASS='!4u2tryhack' sshpass -e ssh -o StrictHostKeyChecking=no username@host.example.com
    示例2:Rsync
    使用sshpass有rsync:
    $ SSHPASS='!4u2tryhack' rsync --rsh="sshpass -e ssh -l username" /custom/ host.example.com:/opt/custom/
    上面使用的-e选项将密码传递给环境变量SSHPASS
    我们可以-f像这样使用开关:
    $ rsync --rsh="sshpass -f pass_file ssh -l username" /custom/ host.example.com:/opt/custom/
    示例3:Scp
    使用sshpass与scp:
    $ scp -r /var/www/html/example.com --rsh="sshpass -f pass_file ssh -l user" host.example.com:/var/www/html
    示例4:GPG
    您也可以使用sshpassGPG加密的文件。使用该-f开关时,参考文件为纯文本格式。让我们看看如何使用GPG加密文件并使用它。
    首先,创建一个文件,如下所示:
    $ echo '!4u2tryhack' > .sshpasswd
    接下来,使用以下gpg命令加密文件:
    $ gpg -c .sshpasswd
    删除包含明文的文件:
    $ rm .sshpasswd
    最后,如下使用它:
    $ gpg -d -q .sshpassword.gpg > pass_file; sshpass -f pass_file ssh user@srv1.example.com
    sshpass是一个简单的工具,对系统管理员很有帮助。无论如何,这不会覆盖SSH身份验证的最安全形式,即公钥身份验证。但是,sshpass也可以将其添加到sysadmin工具箱中。

    A5互联https://www.a5idc.net/

  • 相关阅读:
    git
    rocketMq
    mysql 擎特点
    mysql 主从复制实现步骤
    mysql数据库服务日志
    mysql 主命令总结
    linux sed
    学习进步的方法
    my-innodb-heavy-4g.cnf
    FTP主动模式和被动模式的区别【转】
  • 原文地址:https://www.cnblogs.com/a5idc/p/13594129.html
Copyright © 2011-2022 走看看