在很多实践项目中,我们经常会通过SSH来进行认证,如通过SSH拷贝文件,虽然我们可以使用公钥与私钥实现ssh 无密码登录,在不同的服务器上又需要配对相应的密钥,切换用户麻烦等问题,在一些需要交互但会涉及到批量处理的时候,通过shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录会大大的提高工作效率

#! /bin/bash
##############################################
#Author:                liaodengsong
#date:                  2015-12-10
#Emil:                  lldss@mail.com
#Cropright:             2015@yineng
#version="0.5"
##############################################
shellDir=$(cd "$(dirname "$0")"; pwd)
prog="ysa-release"
platform="YNedut"releaseDir="user@125.XX.93.XX:/home/ysa-web"
cmdRsync="rsync -avzrt --delete --progress  -e 'ssh -p 59422' "fileHome="/home/ysa/target/EveryVersionFile"
verHome="/home/ysa/target/version"echo "please input the version key:"
read verKey
echo "please input the verDataBases key:"
read dbKeyif [ ! -d ${fileHome}/${verKey}/ ] || [ ! -f ${verHome}/${dbKey} ] ; thenecho "The Key Error,exit!"exit 0;
fiecho "please input the release host user password:"
stty -echo
read PASSWORD
stty echofDir="${releaseDir}/files/"
vDir="${releaseDir}/version/"echo "sshpass -p $PASSWORD $cmdRsync ${fileHome}/${verKey}/*  $fDir" >/dev/shm/tempCMD
echo "sshpass -p $PASSWORD $cmdRsync ${verHome}/${dbKey}  $vDir" >>/dev/shm/tempCMD
awk '{$3="***"}1' FS=' ' OFS=' ' /dev/shm/tempCMD
echo "Any key to continue!"
read -n1
source /dev/shm/tempCMD
rm -f /dev/shm/tempCMD

一,不显示SSH输入的密码

stty -echo
read PASSWORD
stty echo #关闭输入不显示

参考网站:http://www.jb51.net/article/40654.htm

二,通过SSH输入的密码实现自动登录

sshpass -p $PASSWORD  ssh root@1.2.3.4    #实现SSH在shell脚本里自动登录

参考网站:http://blog.csdn.net/gsnumen/article/details/7293274

CentOS6安装sshpass:

cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/home:Strahlex/CentOS_CentOS-6/home:Strahlex.repo
yum install sshpass

三,输出信息时不显示密码信息

awk '{$3="***"}1' FS=' ' OFS=' ' /dev/shm/tempCMD  #将第三列输入的SSH密码在屏幕显示时,显示为*

参考内容:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3751275

http://bbs.chinaunix.net/thread-2309494-1-1.html

重点内容摘录待验证:

cat filename|while read line
do
echo "$line"|awk -F\| -v v=\|  '{print $1v$2v$3v$4v""v$6v}'
done
awk 'BEGIN{OFS=FS="|"}{$5="";}1' file
awk '{$5=""}1' FS=\| OFS=\| infile

转载于:https://blog.51cto.com/artman/1721608

shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践...相关推荐

  1. shell 练习题02 一个文件里将内容三行显示为一行

    要求: 一个文件里将内容三行显示为一行 思路:是将第二行的内容,第三行的内容依次附加到第一行中,这样三行的内容就能变为一行,如果不够三行自动融为一行,具体如下 [root@chy shell]# ca ...

  2. e.printstacktrace()为什么没有输出信息_不输入内容,能不能直接输出内容?

    这段时间,我确信了一件事. 想要输出内容,不需要"先输入". 直接输出,是能做到的. 网络上流行一种观点:先输入,再输出! 我认为这是错的. 人可以不输入知识,直接输出内容. 人在 ...

  3. securecrt导出linux日志文件,secureCRT保存屏幕输出内容

    1.有时执行一个mysql语句,屏幕打印行过多,需要设置翻动最大行数 打开Options Session Options–>Terminal–>Emulation,在Scrollback输 ...

  4. Android 仿支付宝密码输入页面

    简单页面,不一一介绍,直接上源码 ` package cn.npe1348.zfbpay.view; import android.content.Context; import android.te ...

  5. 微信小程序之支付密码输入

    wxml: <view catchtap='showInputLayer' class="btn_pay">立即支付</view> <!-- 密码输入 ...

  6. 微信小程序之支付密码输入demo

    微信小程序之支付密码输入demo 原文链接:https://www.cnblogs.com/tandaxia/p/9338443.html 在小程序中实现支付密码的输入,要解决几个问题: 1.小程序要 ...

  7. 弹窗密码输入(HTML)

    弹窗密码输入,密码输入成功才可以访问 <html> <head><meta charset="UTF-8"><title>验证密码& ...

  8. 业务系统实现记住密码和自动登录功能

    业务系统实现记住密码和自动登录功能 公司的业务系统本来是受域控的,用户不需要登录可以直接访问系统.当然,虽然不用人工登录,系统本身会读取电脑的用户名为登录标识,对系统操作权限和记录也是以电脑名.近段时 ...

  9. Cookie实现记住密码、自动登录

    前端代码 <form id="form" action="xxx" method="post"><div><i ...

最新文章

  1. 数据结构 - 红黑树
  2. sudo: pip:找不到命令
  3. 【东软实训】SQL多表链接
  4. [Vue]Scoped Css与Css Modules的区别
  5. 组合自定义控件的步骤详解
  6. 内核提速开机linux,Linux启动全线提速法
  7. 邱锡鹏nndl学习记录
  8. 设计FMEA步骤五:风险分析
  9. 怎样修复IE浏览器 IE浏览器修复方法
  10. 成语小秀才云开发代码 成语答题小程序源码
  11. postgresql中recovery.conf分析
  12. 网吧模式一台服务器拖显示器,摆500台机器太傻 网咖显示器如何配置?
  13. JavaScript实现令人放松的小游戏_艾孜尔江撰
  14. 通信端口感叹号_解决通用串行总线控制器总是有感叹号的办法
  15. c语言牛逼,C语言牛逼代码
  16. 用STM32F407ZET6的HAL库写一个串口接收,发送代码,支持ringbuff
  17. 关于MBP(苹果MAC)终端输入su命令出现Sorry提示的解决办法
  18. AirPlay on Mac/Win
  19. 需求调研报告模板_中国脂肪醇市场需求调研与十四五投资战略规划分析报告2021-2026年...
  20. 华为gpon二层互通_干货 | 华为HCNA实战培训视频教程汇总集【共70集】,非常适合新入门的童鞋...

热门文章

  1. 需求评审五个维度框架分析及其带来的启示-3-典型需求评审
  2. 电机控制器软件设计规范_电机控制器市场及重点企业分析
  3. python join_详解Python中的join()函数的用法
  4. java多线程有几种实现方法_Java多线程之间实现通讯
  5. 速递 | 在线教育行业 12 大核心场景案例全解析!
  6. 2018 “神策杯”高校算法大师赛 6 强诞生,【招人】进行时……
  7. 认识Linux 、安装虚拟机 、 安装centos7
  8. 【晒出你的第83行代码】阿里研究员福贝,用一个小演示程序来解释一下 C++11/14 里的 closure 是可以多么的“爽”...
  9. MaxCompute 2.0—从ODPS到MaxCompute
  10. IT十八掌作业_java基础第二天_进制转换原理和补码存储方式