Linux非交互SSH密码验证方案——sshpass

栏目: 服务器 · 发布时间: 6年前

内容简介:在很久以前,一帮南京的实施团队来内蒙古部署系统,留下了一个脚本程序,可以快速的登陆到任意主机,而不用输入密码,那个时候就比较好奇,它是怎么做的呢?后来看了一下这个工具的脚本程序,发现后面是一个叫做在我们编写自动化SHELL脚本的时候,免不了需要自动化登陆远程主机,除了上面说的“公钥免密登陆”方法外,还有这里要说的

前言

在很久以前,一帮南京的实施团队来内蒙古部署系统,留下了一个脚本程序,可以快速的登陆到任意主机,而不用输入密码,那个时候就比较好奇,它是怎么做的呢?后来看了一下这个 工具 的脚本程序,发现后面是一个叫做 sshpass 的命令来完成的,那个时候也没有在乎;在后来的运维工作中,要写很多的自动化脚本,要远程登陆到别的主机上去,也是使用的《详解SSH原理》这篇文章中说的“公钥免密登陆”的办法,但是使用“公钥免密登陆”的办法是需要生成公私钥对,同时还涉及到公钥分发,对于一些运维新手来说,经常在这两步犯错误;后来,我又想起了那个使用 sshpass 命令的工具,自己一直未曾使用过这个工具,今天就用这篇文章来对 sshpass 命令一探究竟。

sshpass 是什么?

在我们编写自动化 SHELL 脚本的时候,免不了需要自动化登陆远程主机,除了上面说的“公钥免密登陆”方法外,还有这里要说的 sshpass 方法。

sshpass 是一个简单、轻量级的命令行工具,通过它我们能够向命令提示符本身提供密码(非交互式密码验证)。SSH直接使用TTY访问,以确保密码是用户键盘输入的。 sshpass 在专门的TTY中运行SSH,以误导SSH相信它是从用户接收到的密码,从而实现非交互式密码验证。

使用 sshpass 是不安全的,因为所有系统上的用户在命令行中通过简单的“ps”命令就可看到密码。所以,还是建议使用《详解SSH原理》这篇文章中说的“公钥免密登陆”的办法。

离线安装 sshpass

在CentOS中,离线DVD系统包中是不自带 sshpass 程序的,为了能离线安装 sshpass ,我们只能通过编译源码进行安装。我们通过以下简单的几步可以完成 sshpass 的安装。

  • 下载源码: 点击这里进入下载页面
  • 得到sshpass-1.06.tar.gz源码包后,就开始编译安装吧。
    # 解压源码包
    tar -xzf sshpass-1.06.tar.gz
    
    # 建立安装目录
    mkdir sshpass
    
    # 指定安装目录进行编译
    cd sshpass-1.06
    ./configure --prefix=/home/jelly/sshpass
    make && make install
    
    su - root
    cp /home/jelly/sshpass/bin/sshpass /usr/bin/sshpass
  • 使用 sshpass -V 命令检查是否安装正确。

sshpass 简单使用

在使用 sshpass 命令之前,我们需要对 /etc/ssh/ssh_config 进行修改,将 #StrictHostKeyChecking ask 修改为 StrictHostKeyChecking no ;然后 service sshd restart 重启SSH服务。

  • 常用方式一:免密登陆远程主机
    # 其中-p选项后面指定密码
    sshpass -p '123456' ssh jelly@192.168.1.2
    
    # 从文件的读取密码进行远程登陆
    sshpass -f ~/passwd.txt ssh jelly@192.168.1.2
  • 常用方式二:免密传送文件
    sshpass -p '123456' scp ~/sshpass/bin/sshpass jelly@192.168.1.2:~/

总结

一个小小的命令又是一篇文章,真是学无止境啊!对于这篇文章,以及这篇文章中的这篇文章中的 sshpass 命令,总结完以后,我个人觉的就是“实用”;对于我们提升我们日后的工作效率将会有很大的帮助。知识不在于小,而在于精悍,在于实用, sshpass 这个命令就特别符合,工具虽小,但是实用就好。希望我这里的总结能够帮助到你。好了,如果觉的还不错,可以点击下方的“打赏”哦。

果冻想,认真玩技术的地方。

2019年5月19日,于内蒙古呼和浩特。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Masterminds of Programming

Masterminds of Programming

Federico Biancuzzi、Chromatic / O'Reilly Media / 2009-03-27 / USD 39.99

Description Masterminds of Programming features exclusive interviews with the creators of several historic and highly influential programming languages. Think along with Adin D. Falkoff (APL), Jame......一起来看看 《Masterminds of Programming》 这本书的介绍吧!

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具