专栏首页性能与架构Linux 非交互式SSH

Linux 非交互式SSH

ssh是linux管理时常用的一个服务,ssh有个特点,属于交互式操作,就是当你执行ssh时,他会要求你手动输入密码 这就给shell脚本带来了麻烦,如果想在脚本中使用ssh进行自动化远程操作,非常不方便 ssh支持双方配置后的免密码操作,但比较麻烦 还有一种常用的方式:expect,把密码放入脚本,执行expect,他可以帮助我们自动完成输入密码的这个交互,expect实质是进行模拟操作,执行脚本时会感觉到这个动作 下面介绍下 sshpass,以非交互式操作ssh,可以直接在命令行指定密码,方便了很多

使用示例

(1)命令行中指定密码 ./sshpass -p 密码 ssh -o StrictHostKeyChecking=no root@15.28.16.3 -p 端口号 "ls" StrictHostKeyChecking=no 避免第一次登录时出现公钥检查,如果不指定这个参数,执行时会发现没有反应,实际上是背后执行了检查操作,没有显示出来,所以感觉是没有响应 -p 端口号 是对方机器ssh的端口号,如果是默认端口,可以省略这个参数 上面是ssh命令的示例,远程拷贝也是常用的操作,示例: ./sshpass -p 密码 scp -P端口号 15.28.16.3:/root/test.txt . (2)指定密码文件 可以把密码保存到文件中,sshpass命令中用参数指定密码文件 把密码写入文件 echo "密码" > ssh_passwd 执行sshpass 指定文件 ./sshpass -f ssh_passwd ssh -o root@15.28.16.3 "ls" (3)从环境变量读密码 还可以把密码设置到环境变量,变量名要为 SSHPASS export SSHPASS="密码" ./sshpass -e ssh -o root@15.28.16.3 "ls"

安装sshpass

下载地址 http://sourceforge.net/projects/sshpass/

安装

tar zxvf sshpass-1.05.tar.gz cd sshpass-1.05 ./configure --prefix=/usr/local/sshpass make make install 安装完成后,sshpass命令在/usr/local/sshpass/bin下,执行即可

本文分享自微信公众号 - 性能与架构(yogoup),作者:杜亦舒

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

原始发表时间:2016-03-25

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 服务器被入侵的教训

    今天一台服务器突然停了,因为是阿里云的服务器,赶紧去阿里云查看,发现原因是阿里云监测到这台服务器不断向其他服务器发起攻击,便把这台服务器封掉了 明显是被入侵做...

    dys
  • Elasticsearch SQL

    Elasticsearch 6.3.0 正式发布了,其中有一个重要特性:原生支持 SQL 了,不需要任何外部其他的库、处理方式等等,开箱即用。

    dys
  • 分布式协调服务ZooKeeper工作原理

    大数据处理框架Hadoop、Redis分布式服务Codis、淘宝的分布式消息中间件MetaMQ …… 他们都使用ZooKeeper做为基础部件,可以看出ZooK...

    dys
  • 这条命令帮我在一分钟内修改了200台远程服务器密码!

    就在上周,周五临近下班,经理突然找我说说:“阿杰,下午领导开会提到了咱们公司安全性的问题,我们发现很多服务器的管理员(root)密码都设的太简单了,都是六个1啥...

    陈哈哈
  • Python 教你自动发微博,每日一句英语

    最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人。

    周萝卜
  • 利用Python实现自动化运维新浪微博

    最近在研究用 Python 来制作各个类别的机器人,今天先来分享一个自动发布新浪微博的机器人。

    叫我龙总
  • zookeeper常用指令

    可以看到,已经成功删除/zk-permanent 节点。值得注意的是, 若删除节点存在子节点,那么无法删除该节点,必须先删除子节点,再删除父节点。

    老梁
  • 去中心化理论之一——什么是去中心化

    比特币是一个去中心化的货币系统,去中心化是比特币成功的关键所在。哪到底什么是“去中心化”呢?

    用户2940845
  • 把linux设置成使用密钥登录

    平常使用服务器,因为是在互联网中,只要知道端口密码和ip就可以登录,方便的同时也带来了一定的安全隐患,今天就介绍一个把密码禁用,使用密钥登录的方法,这样就实现了...

    用户1188347
  • 在运行时关联未标记的事件(CS OH)

    流程挖掘对于以数据为中心和以流程为中心的系统都非常重要。流程挖掘接收所谓的流程日志,它是部分有序事件的集合。事件必须至少具有三个属性,case ID、 task...

    用户7095611

扫码关注云+社区

领取腾讯云代金券