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

在很多实践项目中,我们经常会通过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 dbKey

if [ ! -d ${fileHome}/${verKey}/ ] || [ ! -f ${verHome}/${dbKey} ] ; then

echo "The Key Error,exit!"

exit 0;

fi

echo "please input the release host user password:"

stty -echo

read PASSWORD

stty echo

fDir="${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 #关闭输入不显示

二,通过SSH输入的密码实现自动登录sshpass -p $PASSWORD  ssh root@1.2.3.4    #实现SSH在shell脚本里自动登录

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/thread-2309494-1-1.html

重点内容摘录待验证:cat filename|while read line

do

echo "$line"|awk -F\| -v v=\|  '{print $1v$2v$3v$4v""v$6v}'

doneawk 'BEGIN{OFS=FS="|"}{$5="";}1' fileawk '{$5=""}1' FS=\| OFS=\| infile

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值