sshpass-Linux命令之非交互SSH密码验证
sshpass-Linux命令之非交互SSH密码验证
参考网址:https://www.cnblogs.com/chenlaichao/p/7727554.html
ssh登陆不能在命令行中指定密码。sshpass的出现,解决了这一问题。sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次输入密码。
它允许你用 -p 参数指定明文密码,然后直接登录远程服务器,它支持密码从命令行、文件、环境变量中读取。
其默认没有安装,需要手动安装,方法如下:
下载网址:https://sourceforge.net/projects/sshpass/files/
[root@db130 ~]# ll /root/sshpass-1.06.tar.gz
-rw-r--r-- 1 root root 112205 Mar 25 15:45 /root/sshpass-1.06.tar.gz
[root@db130 ~]# tar -zxf sshpass-1.06.tar.gz
[root@db130 ~]# cd sshpass-1.06
[root@db130 sshpass-1.06]# ./configure --prefix=/usr/local/sshpass/
[root@db130 sshpass-1.06]# make
[root@db130 sshpass-1.06]# make install
[root@db130 sshpass-1.06]# cp /usr/local/sshpass/bin/sshpass /usr/bin/ # 出现如下,表明安装成功
[root@db130 sshpass-1.06]# sshpass
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
[root@db130 sshpass-1.06]# # 用法简介: -p password # 后接密码
[root@db130 ~]# sshpass -p '12345678' ssh root@192.168.142.128 'ifconfig eth0'
eth0 Link encap:Ethernet HWaddr 00:0C:29:B0:62:1B
inet addr:192.168.142.128 Bcast:192.168.142.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb0:621b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:5915 errors:0 dropped:0 overruns:0 frame:0
TX packets:533 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:407552 (398.0 KiB) TX bytes:111865 (109.2 KiB) [root@db130 ~]# -f filename #后跟保存密码的文件名,密码是文件内容的第一行。
[root@db130 ~]# cat 1.txt
12345678
[root@db130 ~]# sshpass -f 1.txt ssh root@192.168.142.128
Last login: Mon Mar 25 22:36:05 2019 from 192.168.142.1
[root@xbj128 ~]# exit
logout
Connection to 192.168.142.128 closed. -e #将环境变量SSHPASS作为密码,是临时的
[root@db130 ~]# -e #将环境变量SSHPASS作为密码^C
[root@db130 ~]# export SSHPASS=12345678
[root@db130 ~]# sshpass -e ssh root@192.168.142.128 "ifconfig eth0"
eth0 Link encap:Ethernet HWaddr 00:0C:29:B0:62:1B
inet addr:192.168.142.128 Bcast:192.168.142.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:feb0:621b/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6027 errors:0 dropped:0 overruns:0 frame:0
TX packets:588 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:419116 (409.2 KiB) TX bytes:121683 (118.8 KiB) # 传出本地文件到远程
[root@db130 ~]# sshpass -f 1.txt scp /root/sshpass-1.06.tar.gz root@192.168.142.128:/root/ # 拉取远程文件到本地
[root@db130 ~]# sshpass -f 1.txt scp root@192.168.142.128:/root/mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz /tmp/
sshpass-Linux命令之非交互SSH密码验证的更多相关文章
- 终端-Linux命令之非交互SSH密码验证-Sshpass
Sshpass是使用SSH所谓的"交互式键盘密码身份验证"以非交互方式执行密码身份验证的工具 通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图 ...
- 【转】sshpass-Linux命令之非交互SSH密码验证
sshpass-Linux命令之非交互SSH密码验证 ssh登陆不能在命令行中指定密码.sshpass的出现,解决了这一问题.sshpass用于非交互SSH的密码验证,一般用在sh脚本中,无须再次 ...
- sshpass非交互SSH密码验证
1.yum安装yum install sshpass -y1.1编译安装yum install wget -ywget http://sourceforge.net/projects/sshpass/ ...
- sshpass: 用于非交互的ssh 密码验证
ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题.它允许你用 -p 参数指定明文密码,然后直接登录远程服务器. 它支持密码从命令行,文件,环境变 ...
- Centos 打开ssh 密码验证 和 root 登录
# 1 打开系统的密码验证功能: vim /etc/ssh/sshd_config #允许使用密码登录(注释此行 就是允许证书登录) PasswordAuthentication yes # 2 打开 ...
- Linux低权限用户记录ssh密码
0x01 场景 现在有个攻击场景,就是你拿到了linux外网服务器的webshell,要做内网渗透前肯定要收集信息.其中可以做的一个工作是重新编译ssh来记录管理员的密码信息,信息可以用来撞其他机器的 ...
- Linux 命令 - wget: 非交互式网络下载器
命令格式 wget [option]... [URL]... 命令参数 启动选项 -V, --version 打印版本信息 -h, --help 打印帮助信息 日志和输入文件选项 -o logfile ...
- Linux命令(五)免密码远程登录和配置别名
1. ssh-keygen 2. ssh-copy-id -p port user@remote .ssh中建立并编辑config文件 原来需要 ssh -p ubuntu@xxx.xxx.xxx 现 ...
- 常见Linux命令(非文件操作)
可见 http://man.linuxde.net/systemctl 非常详尽
随机推荐
- 关于Android中ION的libion
在高通的OpenCL SDK中,其Android.mk文件中,有判断当前kernel的版本,如果大于4.12,那么就使用libion.so,否则则使用ion kernle uapi: # Tries ...
- Java的多线程实现生产/消费模式
Java的多线程实现生产/消费模式 在Java的多线程中,我们经常使用某个Java对象的wait(),notify()以及notifyAll() 方法实现多线程的通讯,今天就使用Java的多线程实现生 ...
- jmeter接口测试实战-创建用户
jmeter接口测试实战-创建用户 相信大多数看到标题的同学都会有疑问, 创建用户不是很简单吗, 调用一下创建用户接口, 传入指定入参, 用户即可创建成功, 今天我们的实战来讲讲创建场景.通过接口创建 ...
- PL/SQL连接数据库时报错12154
研究了半天,最终我发现和环境变量没有半毛钱关系,就是tsnnames这个文件的格式错了.
- 简单shellcode编写
0x00 介绍 Shellcode 是指经过精心设计的一串指令,一旦注入正在运行的应用程序中即可运行,常用于栈和基于堆的溢出.术语Shellcode意思指的便是用于启动一个命令Shell的已编写好的可 ...
- Python之Pandas的一些理解
Pandas的功能: 1. 结构化的数据分析; 相比excel,可以处理更大量的数据和更好的性能 2. 对数据的清洗
- python3 购物车 增改查终极版~
还是先来条NLP再说,快没了,以后想抄还没有... 十一,没有挫败,只有回应讯息 “挫败”只是指出过去的做法得不到预期的效果,是给我们需要改变的信号. “挫败”只是在事情画上句号时才能用上,欲想事情解 ...
- python学习笔记5_异常
python学习笔记5_异常 1.什么事异常 Python使用异常对象(exception object) 来表示异常情况.遇到错误会发生异常. 如果异常对象未被处理或被捕捉,程序就会用所谓的回溯(t ...
- torm入门(三)HelloWorld示例
一.配置开发环境 storm有两种操作模式: 本地模式和远程模式.使用本地模式的时候,你可以在你的本地机器上开发测试你的topology, 一切都在你的本地机器上模拟出来; 用远程模式的时候你提交的t ...
- 逆向-攻防世界-CSAW2013Reversing2
运行程序乱码,OD载入搜索字符串,断电到弹窗Flag附近. 发现跳过00B61000函数,弹窗乱码,我们试试调用00B61000函数.将00B61094的指令修改为JE SHORT 00B6109b. ...