在很多實踐項目中,我們經(jīng)常會通過SSH來進行認證,如通過SSH拷貝文件,雖然我們可以使用公鑰與私鑰實現(xiàn)ssh 無密碼登錄,在不同的服務(wù)器上又需要配對相應(yīng)的密鑰,切換用戶麻煩等問題,在一些需要交互但會涉及到批量處理的時候,通過shell 密碼輸入不顯示,Shell輸出內(nèi)容不顯示密碼,Shell實現(xiàn)有密碼自動登錄會大大的提高工作效率
#!?/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?#關(guān)閉輸入不顯示
參考網(wǎng)站:http://www.jb51.net/article/40654.htm
二,通過SSH輸入的密碼實現(xiàn)自動登錄
sshpass?-p?$PASSWORD??ssh?root@1.2.3.4????#實現(xiàn)SSH在shell腳本里自動登錄
參考網(wǎng)站: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密碼在屏幕顯示時,顯示為*
參考內(nèi)容:http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3751275
http://bbs.chinaunix.net/thread-2309494-1-1.html
重點內(nèi)容摘錄待驗證:
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
轉(zhuǎn)載于:https://blog.51cto.com/artman/1721608
總結(jié)
以上是生活随笔 為你收集整理的shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践... 的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔 網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔 推薦給好友。