連接服務器的腳本

對于記不住的服務器密碼且不愿用三方工具俺簡單寫了個腳本(檢測下最近shell腳本的學習效果咋樣)

expect 是處理交互的一種腳本語言,spawn啟動指定進程 -> expect獲取指定關鍵字 -> send想指定進程發送指定指令 -> 執行完成后退出

  • spawn 命令,啟動新的交互進程, 后面跟命令或者指定程序
  • expect 命令,從進程中接收信息, 如果匹配成功, 就執行expect后的動作
  • send 命令,向進程發送字符串
  • interact 命令,允許人為干預交互
  • set 設置變量的值
  • puts 輸出變量的值

1、安裝該工具

linux

yum install expect

mac

 brew install expect

2、腳本內容

 #!/usr/bin/expect?set web1 服務器1ipset web2 服務器2ip?puts "服務器列表"puts "1. 服務器1備注名稱"puts "2. 服務器2備注名稱"?set timeout -1expect_user -re "(.*)\n"?set num $expect_out(1,string)?switch -exact -- $num {1 {spawn ssh root@$web1expect "password:"send "服務器1密碼\r"interact}2 {spawn ssh root@$web2expect "password:"send "服務器2密碼\r"interact}default {puts "輸入序號錯誤"}}

使用

gwh@GWdeMacBook-Pro [19:16:08] [~/Desktop]
-> % expect jumpServer.exp

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/161475.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/161475.shtml
英文地址,請注明出處:http://en.pswp.cn/news/161475.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Oracle:poor sql導致的latch: cache buffers chains案例

巡檢時,執行如下sql發現長會話: SELECT SE.SID,SE.SERIAL#,TO_CHAR(LOGON_TIME,YYYY-MM-DD HH24:MI:SS),SE.STATUS,SE.OSUSER,SE.MACHINE,SE.PROGRAM,SE.BLOCKING_SESSION, SE.SQL_ID,SE.PREV_SQL_ID ,SE.EVENT,SE.P1TEXT,SE.P1,SE.P2TEXT,SE.P2,SE.P3…

LeetCode1161. Maximum Level Sum of a Binary Tree

文章目錄 一、題目二、題解 一、題目 Given the root of a binary tree, the level of its root is 1, the level of its children is 2, and so on. Return the smallest level x such that the sum of all the values of nodes at level x is maximal. Example 1: Input:…

visionOS空間計算實戰開發教程Day 4 初識ImmersiveSpace

細心的讀者會發現在在??Day1???和??Day2???的示例中我們使用的都是??WindowGroup??。 main struct visionOSDemoApp: App {var body: some Scene {WindowGroup {ContentView()}} } 本節我們來認識在visionOS開發中會經常用到的另一個概念??ImmersiveSpace??…

Spark---集群搭建

Standalone集群搭建與Spark on Yarn配置 1、Standalone Standalone集群是Spark自帶的資源調度框架,支持分布式搭建,這里建議搭建Standalone節點數為3臺,1臺master節點,2臺worker節點,這虛擬機中每臺節點的內存至少給…

transformer之KV Cache

一、為什么要研究KV Cache 非常有效的加速推理速度,效果如下所示: import numpy as np import time import torch from transformers import AutoModelForCausalLM, AutoTokenizer NAME_OR_PATH r*************** device "cuda" if torch.cu…

中職組網絡安全 Server-Hun-1.img Server-Hun-2.img

一串密碼 smbuser用戶和密碼登錄ssh還是失敗提示需要密鑰,嘗試ftp登錄成功 發現密鑰存放在.ssh/下,在kali上生成一個密鑰,通過上傳到.ssh/下,將其替換掉 使用kali生成密鑰 登錄成功,但是無法拿到root目錄下的flag 獲取root用戶權限…

電子學會C/C++編程等級考試2022年12月(一級)真題解析

C/C++等級考試(1~8級)全部真題?點這里 第1題:加一 輸入一個整數x,輸出這個整數加1后的值,即x+1的值。 時間限制:1000 內存限制:65536輸入 一個整數x(0 ≤ x ≤ 1000)。輸出 按題目要求輸出一個整數。樣例輸入 9樣例輸出 10 答案: //參考答案: #include<bits/st…

opencv-常用代碼

以下是一些OpenCV中常用的代碼片段&#xff0c;涵蓋了一些基本的圖像處理和計算機視覺任務。 加載和顯示圖像: import cv2# 讀取圖像 img cv2.imread(image.jpg)# 顯示圖像 cv2.imshow(Image, img) cv2.waitKey(0) cv2.destroyAllWindows()調整圖像大小: resized_img cv2.res…

鴻蒙4.0開發筆記之DevEco Studio頁面操作router的pushUrl頁面跳轉與back返回上一頁(五)

一、認識組件 關于HarmonyOS中ArkTS的基礎組件請參見文章鴻蒙4.0開發筆記之ArkTs語言基礎與基本組件結構&#xff08;四&#xff09; 二、實現頁面跳轉pushUrl 1、操作說明 實現頁面跳轉的核心便是router.pushUrl的調用&#xff0c;操作起來也很簡單&#xff0c;總共就四步…

Laravel 安裝(筆記一)

目錄 第一步、Laravel 一般使用 composer安裝 第二步、使用composer安裝項目 第三步、配置環境 第四步、訪問域名&#xff0c;安裝完成 Laravel 官網 l???????Installation - Laravel 中文網 為 Web 工匠創造的 PHP 框架 第一步、Laravel 一般使用 composer安裝 如…

13.求面積[有問題]

#include<stdio.h> #include<math.h> #include<bits/stdc.h> using namespace std;void fun(double a,b,c) {double p,c;p (abc)/2;c sqrt(p*(p-a)*(p-b)*(p-c));printf("面積是&#xff1a;%lf",c); }int main(){double a,b,c;scanf("%lf,%…

《golang設計模式》第三部分·行為型模式-06-備忘錄模式(Memento)

文章目錄 1. 概述1.1 角色1.2 類圖 2. 代碼示例2.1 設計2.2 代碼2.3 類圖 1. 概述 備忘錄&#xff08;Memento&#xff09;用于在不破壞目標對象封裝特性的基礎上&#xff0c;將目標對象內部的狀態存儲到外部對象中&#xff0c;以備之后恢復狀態時使用。 1.1 角色 Originato…

【洛谷 B2008】計算 (a+b)×c 的值 題解(順序結構+四則運算)

計算 (ab)c 的值 題目描述 給定 3 3 3 個整數 a , b , c a,b,c a,b,c&#xff0c;計算表達式 ( a b ) c (ab) \times c (ab)c 的值。 輸入格式 輸入僅一行&#xff0c;包括三個整數 a , b , c a,b,c a,b,c&#xff0c;數與數之間以一個空格分開。 輸出格式 輸出一行…

如何訪問linux上的web服務

1.獲取服務運行端口 例如8080 2.如果時vmware 需要先配置轉發端口和主機ip 主機ip需要未使用的 例如&#xff1a; 3.查看虛擬機防火墻設置 centos8 為例 &#xff1a; firewall-cmd --zonepublic --list-ports 查看放通端口 如果沒有放通 firewall-cmd --zonepublic --add-p…

04 if進階

elif 否則如果 如果條件沒有滿足 會繼續進入“否則如果”里面判斷 只要滿足一個條件 條件判斷立即終止 chinese 100 if chinese 100:print("我們去迪士尼玩")elif chinese > 90:print("我們去朱雀森林公園")else:print("回家寫作業")if n…

GO MySQL數據庫操作封裝

Go 語言操作數據庫, 數據庫連接封裝&#xff1a; package Test_dbimport ("database/sql""fmt"_ "github.com/go-sql-driver/mysql""log""sync" )var (DB *sql.DBpoolOnce sync.Once )func NewConnection() (*sql.…

微信小程序藍牙連接 uniApp藍牙連接設備

藍牙列表期待效果 代碼 <template><view class"bluetooth-list"><view class"align-items option" style"justify-content: space-between;" v-for"item in bluetoothList" :key"item.deviceId"><vie…

游戲開發團隊配置與協作流程

游戲開發技術圖譜 - 知乎 游戲制作的流程是什么啊&#xff1f; - 知乎 系統策劃&#xff1a;一張圖梳理游戲系統的生產流程 - 知乎 游戲開發入門&#xff08;十一&#xff09;游戲引擎架構-CSDN博客

全局定制序列化

作用:將返回實體類中的屬性如果為null 變成"" package com.example.micrweb.config;import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.ObjectMapper; import com.f…

linux驅動——原子操作

linux驅動——原子操作 原子操作 API Linux 內核定義了叫做 atomic_t 的結構體來完成整型數據的原操作&#xff0c;在使用是使用原子變量來代替整型變量。此結構體定義在 include/linux/types.h 文件中&#xff0c;定義如下&#xff1a; typedef struct {int counter; }atom…