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

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

内容简介:在很久以前,一帮南京的实施团队来内蒙古部署系统,留下了一个脚本程序,可以快速的登陆到任意主机,而不用输入密码,那个时候就比较好奇,它是怎么做的呢?后来看了一下这个工具的脚本程序,发现后面是一个叫做在我们编写自动化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日,于内蒙古呼和浩特。


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

查看所有标签

猜你喜欢:

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

机器学习系统设计

机器学习系统设计

[德] Willi Richert、Luis Pedro Coelho / 刘峰 / 人民邮电出版社 / 2014-7-1 / CNY 49.00

如今,机器学习正在互联网上下掀起热潮,而Python则是非常适合开发机器学习系统的一门优秀语言。作为动态语言,它支持快速探索和实验,并且针对Python的机器学习算法库的数量也与日俱增。本书最大的特色,就是结合实例分析教会读者如何通过机器学习解决实际问题。 本书将向读者展示如何从原始数据中发现模式,首先从Python与机器学习的关系讲起,再介绍一些库,然后就开始基于数据集进行比较正式的项目开......一起来看看 《机器学习系统设计》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

MD5 加密
MD5 加密

MD5 加密工具