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

ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。

它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。

其默认没有安装,需要手动安装,方法如下:

sshpass下载地址:http://sourceforge.net/projects/sshpass/ 下载为一个 tar.gz的压缩包。

$ tar -zxvf sshpass-1.05.tar.gz

$ cd sshpass-1.05

$ ./configure --prefix=/opt/sshpass #指定安装目录

$ make

$ make install

$ cp /opt/sshpass/bin/sshpass /usr/bin/

经过以上步骤,sshpass安装完成,输入命令 sshpass 如出现如下提示即安装成功:

2.用法介绍

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
-p password #后跟密码
[root@zhu ~]# sshpass -p 123456 ssh root@192.168.56.102
Last login: Wed Apr 16 15:35:22 2014 from 192.168.56.1
[root@jiang ~]# exit
logout
Connection to 192.168.56.102 closed.
-f filename #后跟保存密码的文件名,密码是文件内容的第一行。
[root@zhu ~]# cat 1.txt
123456
[root@zhu ~]# sshpass -f 1.txt  ssh root@192.168.56.102
Last login: Fri Apr 18 13:48:20 2014 from 192.168.56.101
[root@jiang ~]# exit
logout
Connection to 192.168.56.102 closed.
-e #将环境变量SSHPASS作为密码
[root@zhu ~]# export SSHPASS=123456
[root@zhu ~]# sshpass -e  ssh root@192.168.56.102
Last login: Fri Apr 18 13:51:45 2014 from 192.168.56.101
[root@jiang ~]# exit
logout
Connection to 192.168.56.102 closed.

#从命令行方式传递密码 -p指定密码

$ sshpass -p '123456' ssh user_name@host_ip

$ sshpass -p '123456' scp root@host_ip:/home/test/t ./tmp/

如在多台主机执行命令:

1
2
3
4
5
6
7
[root@zhu ~]# cat a.sh
#!/bin/bash
for in $(cat /root/1.txt)
do
    echo $i
    sshpass -p123456 ssh root@$i 'ls -l'
done

【转】sshpass-Linux命令之非交互SSH密码验证的更多相关文章

  1. 终端-Linux命令之非交互SSH密码验证-Sshpass

    Sshpass是使用SSH所谓的"交互式键盘密码身份验证"以非交互方式执行密码身份验证的工具 通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图 ...

  2. sshpass-Linux命令之非交互SSH密码验证

    sshpass-Linux命令之非交互SSH密码验证 参考网址:https://www.cnblogs.com/chenlaichao/p/7727554.html ssh登陆不能在命令行中指定密码. ...

  3. sshpass非交互SSH密码验证

    1.yum安装yum install sshpass -y1.1编译安装yum install wget -ywget http://sourceforge.net/projects/sshpass/ ...

  4. sshpass: 用于非交互的ssh 密码验证

    ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题.它允许你用 -p 参数指定明文密码,然后直接登录远程服务器. 它支持密码从命令行,文件,环境变 ...

  5. Centos 打开ssh 密码验证 和 root 登录

    # 1 打开系统的密码验证功能: vim /etc/ssh/sshd_config #允许使用密码登录(注释此行 就是允许证书登录) PasswordAuthentication yes # 2 打开 ...

  6. Linux 命令 - wget: 非交互式网络下载器

    命令格式 wget [option]... [URL]... 命令参数 启动选项 -V, --version 打印版本信息 -h, --help 打印帮助信息 日志和输入文件选项 -o logfile ...

  7. 常见Linux命令(非文件操作)

    可见 http://man.linuxde.net/systemctl 非常详尽

  8. Linux低权限用户记录ssh密码

    0x01 场景 现在有个攻击场景,就是你拿到了linux外网服务器的webshell,要做内网渗透前肯定要收集信息.其中可以做的一个工作是重新编译ssh来记录管理员的密码信息,信息可以用来撞其他机器的 ...

  9. Linux命令(五)免密码远程登录和配置别名

    1. ssh-keygen 2. ssh-copy-id -p port user@remote .ssh中建立并编辑config文件 原来需要 ssh -p ubuntu@xxx.xxx.xxx 现 ...

随机推荐

  1. 问题:win10防火墙不能自动启动

    问题:win10防火墙不能自动启动 描述:Windows防火墙不能自动启动,每次开机要手动启动,打开service.msc,里面防火墙的启动类型为手动,按钮为灰色,不能更改为自动,怎么办? 解决方法: ...

  2. FWT背板笔记

    板子 背板子.jpg \(Fwt\)用于解决这样的问题 \[C_i=\sum_{j\bigoplus k=i}A_j\times B_k\] 其中\(\bigoplus\)是一种二元运算符,如\(or ...

  3. Hadoop学习之路(十七)MapReduce框架Partitoner分区

    Partitioner分区类的作用是什么? 在进行MapReduce计算时,有时候需要把最终的输出数据分到不同的文件中,比如按照省份划分的话,需要把同一省份的数据放到一个文件中:按照性别划分的话,需要 ...

  4. 多线程之并发容器ConcurrentHashMap(JDK1.6)

    简介 ConcurrentHashMap 是 util.concurrent 包的重要成员.本文将结合 Java 内存模型,分析 JDK 源代码,探索 ConcurrentHashMap 高并发的具体 ...

  5. CS231N assignment1

    # Visualize some examples from the dataset. # We show a few examples of training images from each cl ...

  6. Property Injection in Asp.Net Core (转载)

    问: I am trying to port an asp.net application to asp.net core. I have property injection (using ninj ...

  7. YUV420图像旋转90算法的优化

    在做android摄像头捕获时,发现从android摄像头出来的原始视是逆时针旋转了90度的,所以须要把它顺时针旋转90.android视频支持的是NV21格式,它是一种YUV420的格式.当然,始果 ...

  8. 如何修改sharepoint中alert发送邮件模板

    In my post last week I talked about customizing alert notifications and alert templates. Sometimes y ...

  9. koa2实现简单的图片上传

    1.安装koa-body 2.引入koa-body const koa = require('koa'); const fs = require('fs'); const koaBody = requ ...

  10. hadoop环境搭建-伪分布模式

    Appache hadoop 版本:2.77   jdk:1.8  系统:centos7 注意不要在root下解压,要单独建一个用户安装hadoop及其组件. 一.先查看系统是否有自带j #dk: r ...