好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > Shell腳本實現自動輸入密碼登錄服務器

Shell腳本實現自動輸入密碼登錄服務器

熱門標簽:衛星地圖標注地名 奧維互動地圖標注參數 聯通電話機器人怎么接 電銷機器人 劍魚 曲阜400電話辦理 地圖標注輻射圖案 寧波智能外呼系統公司 安裝外呼系統費用 申請公司400電話要注意什么

使用Linux的程序員對輸入密碼這個舉動一定不陌生,在Linux下對用戶有嚴格的權限限制,干很多事情越過了權限就得輸入密碼,比如使用超級用戶執行命令,又比如ftp、ssh連接遠程主機等等,如下圖:

那么問題來了,在腳本自動化執行的時候需要輸入密碼怎么辦?比如你的腳本里有一條scp語句,總不能在腳本執行到這一句時手動輸入密碼吧。

針對于ssh或scp命令,可能有人會回答是建立信任關系,關于建立ssh信任關系的方法請自行百度Google,只需要兩行簡單的命令即可搞定,但這并不是常規的解決方案,如果是ftp連接就沒轍了,況且,你不可能為了執行某些命令去給每個你要連接的主機都手動建立ssh信任,這已經偏離了今天主題的本意,今天要說的是在腳本里自動輸入密碼,我們可以想象下,更優雅的方式應該是在腳本里自己配置密碼,當屏幕交互需要輸入時自動輸入進去,要達到這樣的效果就需要用到expect。

安裝
CentOS下安裝命令很簡單,如下

復制代碼 代碼如下:

sudo yum install expect 

至于Mac用戶,可以通過homebrew安裝(需要先安裝homebrew,請自行Google)
復制代碼 代碼如下:

brew install expect 

測試腳本
我們寫一個簡單的腳本實現scp拷貝文件,在腳本里配置密碼,保存為scp.exp如下

復制代碼 代碼如下:

#!/usr/bin/expect 
set timeout 20 
 
if { [llength $argv] 2} { 
    puts "Usage:" 
    puts "$argv0 local_file remote_path" 
    exit 1 

 
set local_file [lindex $argv 0] 
set remote_path [lindex $argv 1] 
set passwd your_passwd 
 
set passwderror 0 
 
spawn scp $local_file $remote_path 
 
expect { 
    "*assword:*" { 
        if { $passwderror == 1 } { 
        puts "passwd is error" 
        exit 2 
        } 
        set timeout 1000 
        set passwderror 1 
        send "$passwd\r" 
        exp_continue 
    } 
    "*es/no)?*" { 
        send "yes\r" 
        exp_continue 
    } 
    timeout { 
        puts "connect is timeout" 
        exit 3 
    } 

注意,第一行很重要,通常我們的腳本里第一行是#!/bin/bash,而這里是你機器上expect程序的路徑,說明這段腳本是由expect來解釋執行的,而不是由bash解釋執行,所以代碼的語法和shell腳本也是不一樣的,其中set passwd your_passwd設置成你自己的密碼,然后執行如下命令

復制代碼 代碼如下:

./scp.exp ./local_file user@host:/xx/yy/ 

執行前確保scp.exp有執行權限,第一個參數為你本地文件,第二個為遠程主機的目錄,運行腳本如果報錯“connect is timeout”,可以把超時設長一點,第二行set timeout 20可以設置超時時間,單位是秒。腳本執行效果如下

還能做什么

細心的同學一定發現了,其實expect提供的是和終端的一種交互機制,輸入密碼只是其中一種應用形式,只要是在終端阻塞需要輸入時,都可以通過expect腳本完成自動輸入,比如前面腳本里配置了兩種交互場景,一種是終端提示"password:"時輸入密碼,還有一種是提示"yes/no)?"時輸入“yes”,如果和遠程主機是第一次建立連接,執行scp.exp腳本效果是這樣的

所以我們可以根據終端的提示來配置輸入命令,這樣就能達到了自動化的效果。至于處理其它交互場景,只需要照著上面的腳本依葫蘆畫瓢就行了

您可能感興趣的文章:
  • Shell腳本中實現把輸入的密碼轉換為*(星號)的方法
  • PowerShell批量修改AD用戶密碼屬性的代碼
  • shell腳本實現隨機生成10個8位密碼
  • PowerShell中實現混淆密碼示例
  • Shell腳本中非交互式修改密碼的兩種方法
  • Shell創建用戶并生成隨機密碼腳本分享
  • shell腳本實現輸入密碼顯示星號

標簽:安康 大慶 江西 仙桃 遵義 三門峽 上饒 大興安嶺

巨人網絡通訊聲明:本文標題《Shell腳本實現自動輸入密碼登錄服務器》,本文關鍵詞  Shell,腳本,實現,自動,輸入,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Shell腳本實現自動輸入密碼登錄服務器》相關的同類信息!
  • 本頁收集關于Shell腳本實現自動輸入密碼登錄服務器的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 梧州市| 国产17p| 与老头共享娇妻绿帽| 日本近親偷子亂伦AⅤ红杏1| 最近好看的2019免费中文电影 | 87亚洲AV无码乱码精品观看| 亚洲圣爱天堂在线观看| 和黑帮大佬的365日| 水浒传甘婷婷和杜淳删减花絮| 男人把j伸进女人下面视频| 欧美性一区二区三区| 激情网站在线观看| 欧产?日产?国产精品一二| 国产碎花裙25分钟视频| 亚洲免费一级视频| 亚洲性在线| 欧美亚洲另类在线一区二区三区 | 深夜福利免费精品国偷自产在线 | 免费直接看禁用网站| 女仆被扒内裤打屁股动态图| 粉嫩的虎白女张开腿灌满白浆漫画 | 强开亲女嫩苞又嫩又紧免费网站| 宝贝把腿开大让我添添你视频| 打18美女光屁股网站| 东北小伙gay巨大xxxⅹ| 我爱看片| 久欠免费看少妇高潮A片| 色屁屁www影院免费观看| 国产aaaaaaa毛片| 美丽的小蜜桃| 有毛片**毛片毛片毛片| 两个人的我好爽| 免费黄色三级网站| 国产偷人爽久久久久久老妇App | 精品一区二区三区电影| 人妻吉尺明步在线看| 99精品视频在线播放2| 天天做天天爱天天爽天天综合 | koreansexhd| 国产小视频免费| 亚洲欧美一区二区三区在线拉屎|