美文网首页
SSHPASS-Linux命令之非交互SSH密码验证

SSHPASS-Linux命令之非交互SSH密码验证

作者: Minato666 | 来源:发表于2018-11-29 23:28 被阅读0次

    我们知道在Linux上SSH命令和SCP是不能在命令中指定密码的,这样就导致了一个问题,比如我们本地通过代码使用连接到远程机器,想把一个文件copy到远程的另外一台机器,这个时候我们肯定想到要使用SCP命令,但是编写的时候遇到了一个问题,scp命令无法指定命令,它是交互式的,需要你手动输入密码,这样才能够将文件拷贝到另外一台机器。而SSHPASS恰好解决这个问题。
    如果Linux上安装了python,那么我们可以使用yum install SSHPASS来这个命令。其用法如下:

    [root@iZbp1hfxz81ar5zel0qsefZ ~]# sshpass -h
    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
    

    前面我们提到的问题就可以通过下面这个命令来解决:

    sshpass -p  1234567 scp  /root/* root@192.1681.1.1:/root/
    

    如果我们想要通过ssh在另一台远程机器运行命令则:

    sshpass -p123456 ssh root@192.168.1.1 'ls -l'
    

    这样通过SSHPASS大大的简化了脚本的编写。

    相关文章

      网友评论

          本文标题:SSHPASS-Linux命令之非交互SSH密码验证

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