专栏首页WalkingCloud免交互SSH登录工具sshpass

免交互SSH登录工具sshpass

使用 SSH 登录到远程 Linux 服务器时,一般默认状态下,会出现交互提示要求手动输入密码。当需要将ssh、scp等命令做成自动化脚本时,由于需要人工参与,在脚本中进行自动化的 ssh 远程连接就不可能实现了,sshpass的出现,解决了这一问题。sshpass用于非交互式SSH的密码验证,一般用在sh脚本中,无须再次输入密码。

下面逐一介绍sshpass的安装与使用方法

1、yum install -y sshpass安装sshpass工具

[root@CentOS_VM ~]# yum install -y sshpass

可能需要先安装EPEL后再安装sshpass yum install epel-release

2、使用-h可查看sshpass的用法

3、使用举例

1) ssh -p 指定密码文本字符串

sshpass -p password ssh -p 8122 root@XX.XX.XX.XX

password为远程服务器的密码

XX.XX.XX.XX为远程服务器的IP地址

2、ssh -f 指定密码文件

[root@CentOS_VM ~]# vi password.db

[root@CentOS_VM ~]# sshpass -f password.db ssh -p 8122 root@XX.XX.XX.XX

3、以上两种方式在命令行或者文件中显示了密码,相当不安全

防止在屏幕上显示密码,可以使用 -e 参数,并将密码作为SSHPASS环境变量的值输入

export SSHPASS=password

echo $SSHPASS

sshpass -e ssh -p 8122 root@XX.XX.XX.XX

4、sshpass+scp传输文件

sshpass -e scp -P 8122 ./password.db root@XX.XX.XX.XX:~/

Tips:由于是首次登录可能需要RSA key指纹验证

可以加-o StrictHostKeychecking=no选项来忽略key检查信息

sshpass -e scp -P 8122 -o StrictHostKeychecking=no ./speedtest.py root@XX.XX.XX:/

总结:虽然这个sshpass工具很高效,可以免输入密码,但基于安全考虑强烈建议使用更安全的 ssh 公钥认证机制

本文分享自微信公众号 - WalkingCloud(WalkingCloud2018),作者:yuanfan2012

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • CentOS7下vsftpd over SSL/TLS加密传输配置实践

    yuanfan2012
  • CentOS7中使用nmcli命令配置网卡绑定

    [root@CentOS7 ~]# cd /etc/sysconfig/network-scripts/

    yuanfan2012
  • 开源日志管理系统Graylog之Sidecar功能实践

    在之前搭建完GrayLog的基础上(参考之前的文章CentOS7下部署Graylog开源日志管理系统)

    yuanfan2012
  • 阿里大数据团队的年终总结模板,你的报告怎么让老板满意?

    11月到了,大家都应该开始写年度总结了,这里笔者结合工作实践写了一个虚拟版的年度总结计划,希望于你有所启示。

    大数据分析不是事儿
  • JVM又爆了,别傻傻只会重启加内存!

    前提:某大型跨境电商业务发展非常快,线上机器扩容也很频繁,但是对于线上机器的运行情况,特别是jvm内存的情况,一直没有一个统一的标准来给到各个应用服务的owne...

    Java技术栈
  • JVM Advanced Runtime Options

    高级运行时选项(Advanced Runtime Options): -XX:+UnlockCommercialFeatures 开启商业选项,许多商业特性...

    邹志全
  • 34补3-3 rhcs集群基础应用

    [root@node1 ~]# ansible ha -m shell -a 'service NetworkManager stop'

    py3study
  • 中国科技公司还在忙上市,美国的科技巨头们都上天了

    数千年来,人类从未停止对宇宙的探索,而技术进步,让对宇宙探索有了新的可能。「狩猎」系外行星是一件相当困难的事情。与它们的宿主恒星相比,系外行星不仅不能发热,而且...

    HyperAI超神经
  • 配置Linux 11G R2 RAC NTP服务

        安装Oracle 11g RAC时,我们需要配置ntp服务。在使用虚拟机的情况下对于时钟同步方式的配置有很多种方式,可以使用vmware自带的时钟同步功...

    Leshami
  • java——内存中的数组

    2、arr=new int[5],这段代码执行完成后,系统会在堆内存中为该数组分配一块内存空间,并初始化值0,如下图所示:

    说故事的五公子

扫码关注云+社区

领取腾讯云代金券