Sshpass是使用SSH所谓的“交互式键盘密码身份验证”以非交互方式执行密码身份验证的工具

通俗来说就是 使用ssh密码登录 是需要在连接时手动输入密码的,没办法明文连接,如下图,需要交互的输入密码。

而Sshpass 做的就是通过明文的方式使用ssh,并带来了一些更新鲜的特性

安装

  • macOS - brew下载安装

    # 安装命令
    brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb
    # 连接到/usr/local/bin (如果提示 command not found)
    cd /usr/local/bin
    ln -s sshpass ../Cellar/sshpass/1.06/bin/sshpass
  • Debian - apt install sshpass

  • Centos - yum install sshpass

  • 源码安装

    $ wget http://sourceforge.net/projects/sshpass/files/latest/download -O sshpass.tar.gz
    $ tar -xvf sshpass.tar.gz
    $ cd sshpass-1.06
    $ ./configure
    # sudo make install

使用

# 简单使用,使用密码 XXX 连接Ip的默认ssh
sshpass -p "XXX" ssh user@IP

高级

  • 远程连接指定ssh的端口

    sshpass -p {密码} ssh -p ${端口} {用户名}@{主机IP}

  • 从密码文件读取文件内容作为密码去远程连接主机

    sshpass -f ${密码文本文件} ssh {用户名}@{主机IP}

  • 从远程主机上拉取文件到本地

    sshpass -p {密码} scp {用户名}@{主机IP}:${远程主机目录} ${本地主机目录}

  • 将主机目录文件拷贝至远程主机目录

    sshpass -p {密码} scp ${本地主机目录} {用户名}@{主机IP}:${远程主机目录}

  • 远程连接主机并执行命令

    sshpass -p {密码} ssh -o StrictHostKeyChecking=no {用户名}@{主机IP} 'rm -rf /tmp/test'

    -o StrictHostKeyChecking=no :忽略密码提示

更多

更多优秀工具,请关注微信公众号获取

本文由博客一文多发平台 OpenWrite 发布!

终端-Linux命令之非交互SSH密码验证-Sshpass的更多相关文章

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

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

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

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

  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. Mac 终端 Linux 命令总结(简单命令)

    目录操作 命令名 功能描述 使用举例 mkdir 创建一个目录 mkdir dirname rmdir 删除一个目录 rmdir dirname mvdir 移动或重命名一个目录 mvdir dir1 ...

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

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

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

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

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

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

随机推荐

  1. lightoj 1097 - Lucky Number(线段树)

    Lucky numbers are defined by a variation of the well-known sieve of Eratosthenes. Beginning with the ...

  2. Spring boot 全局配置 properties或者yml文件报错

    主要问题是没有扫描到配置文件 在pom文件里面<build>    </build>中加上以下代码就可以保证能扫描到了 <resources> <resour ...

  3. 文档打印 js print调用打印dom内容

    1.首先按目前研究 print可以打印dom 2.被设置overflow:hidden 的模块,打印时会被截掉. 3.被设置成 display:none 的dom 打印不会有样式 边框等. 4.如果需 ...

  4. window下载安装maven

    Maven官网下载地址:https://maven.apache.org/download.cgi,这里我们下载zip包即可  解压到安装目录下  新建环境变量MAVEN_HOME,复制Maven安装 ...

  5. 获取mysql自主生成的主键

    一.sql语句 CREATE TABLE `testgeneratedkeys` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) ...

  6. SqlServer还原数据库时提示:异常终止,不能在此版本的SQL Server中启动,因为它包含分区函数

    场景 在SqlServer Management中进行数据库还原时提示: 数据库不能在此版本的SQL Server中启动,因为它包含分区函数. 点击左下角的查看详细信息 实现 电脑上安装的是SQL S ...

  7. PTA A1005&A1006

    第三天 A1005 Spell It Right (20 分) 题目内容 Given a non-negative integer N, your task is to compute the sum ...

  8. 自己动手实现springboot配置(非)中心

    好久没写博客了,这段时间主要是各种充电,因为前面写的一些东西,可能大家不太感兴趣或者是嫌弃没啥技术含量,所以这次特意下了一番功夫.这篇博客其实我花了周末整整两天写好了第一个版本,已经开源出去了,同样是 ...

  9. 离线环境下进行pip包安装

    内网服务器不能上网,但是需要在上面安装python-package 通过另外一台能上网的主机B 1. 下载需要离线安装的Packages 在B上执行如下命令: 安装单个Package $ pip in ...

  10. C++基础之适配器

    什么是容器适配器? ”适配器是使一种事物的行为类似于另外一种事物行为的一种机制”,适配器对容器进行包装,使其表现出另外一种行为.例如,stack<int, vector<int> & ...