美文网首页
sshpass免密钥登录及不生效的处理方法

sshpass免密钥登录及不生效的处理方法

作者: think_lonely | 来源:发表于2019-01-21 10:38 被阅读19次

    使用sshpass在登录linux主机的时候实现免密钥登录

    centos安装sshpass,首先需要安装epel源

    First, enable EPEL repo and type the following yum command:

    $ sudo yum install sshpass

    测试

    ssh登录主机名为server.example.com 密码为: t@uyM59bQ:

    $ sshpass -p 't@uyM59bQ' ssh username@server.example.com

    在脚本中需要禁用host key检查(一般这样用)

    $ sshpass -p 't@uyM59bQ' ssh -o StrictHostKeyChecking=no username@server.example.com

    注意点:密码直接在命令行不安全,建议使用下边的格式

    语法为:

    SSHPASS='t@uyM59bQ' sshpass -e ssh vivek@server42.cyberciti.biz

    SSHPASS='t@uyM59bQ' sshpass -e ssh vivek@server42.cyberciti.biz date

    SSHPASS='t@uyM59bQ' sshpass -e ssh vivek@server42.cyberciti.biz w

    SSHPASS='t@uyM59bQ' sshpass -e ssh -o StrictHostKeyChecking=no vivek@server42.cyberciti.biz

    把密码保存在一个文件中使用-f选项读取,语法格式如下:

    sshpass -f fileNameHere ssh user@server

    步骤如下:

    $ echo 'myPassword' > myfile

    $ chmod 0400 myfile

    $ sshpass -f myfile ssh vivek@server42.cyberciti.biz

    在rsync中使用sshpass两种形式;

    Run rsync over SSH using password authentication, passing the password on the command line:

    $ rsync --rsh="sshpass -p myPassword ssh -l username" server.example.com:/var/www/html/ /backup/

    或者

    $ SSHPASS='yourPasswordHere' rsync --rsh="sshpass -e ssh -l username" server.example.com:/var/www/html/ /backup/

    使用gpg加密密码:

    How do I use sshpass with gpg encrypted file?

    First, create a file as follows:(步骤如下)

    $ echo 'mySshPasswordHere' > .sshpassword

    Now, encrypt a file using gpg command:

    $ gpg -c .sshpassword

    $ rm .sshpassword

    Finally, use it as follows:

    $ gpg -d -q .sshpassword.gpg > fifo; sshpass -f fifo ssh vivek@server1.cyberciti.biz

    查看sshpass的帮助如下:

    相关文章

      网友评论

          本文标题:sshpass免密钥登录及不生效的处理方法

          本文链接:https://www.haomeiwen.com/subject/ogwqjqtx.html