無視跳板機進行scp

簡介


在有些公司中例衍,為了安全考慮昔期,在向服務(wù)器傳輸文件的時候,需要通過跳板機中轉(zhuǎn)文件佛玄,在這種情況下硼一,上傳一個文件到服務(wù)器需要兩個步驟:1.通過rz命令將文件上傳到跳板機 2.登錄跳板機,然后在跳板機上通過scp命令將上傳的文件傳輸?shù)阶罱K的目標服務(wù)器梦抢。利用這個方式上傳文件夾時般贼,需要將文件夾壓縮打包,而且兩個步驟比較繁瑣奥吩。該腳本的功能是具伍,向服務(wù)器傳輸文件時,將跳板機中轉(zhuǎn)文件的過程自動化圈驼,最終效果感覺不出跳板機的存在。

腳本代碼


#!/usr/bin/expect
set relay_password "password" # 登錄relay的密碼
set worker_password "worker"  # 登錄目標服務(wù)器的密碼
set proxyCommand "-o ProxyCommand=ssh -q username@relayhost -W %h:%p"  # 登錄relay的用戶名和地址
if {$argc == 2} {
   set option -r
   set src [lindex $argv 0]
   set dst [lindex $argv 1]
} elseif {$argc == 3} {
   set option [lindex $argv 0]
   set src [lindex $argv 1]
   set dst [lindex $argv 2]
} else {
   puts "usage: scp \[-12346BCpqrv\] \[-c cipher\] \[-F ssh_config\] \[-i identity_file\]"
   puts "           \[-l limit\] \[-o ssh_option\] \[-P port\] \[-S program\]"
   puts "           \[\[user@\]host1:\]file1 ... \[\[user@\]host2:\]file2"
   exit 1
}
spawn scp $proxyCommand $option $src $dst
set timeout 2
expect {
      "username@relayhost's password" {   # 登錄relay自動輸入密碼期望遇到的字符
          send "$relay_password\n"
          exp_continue
      }
      "Are you sure you want to continue connecting (yes/no)?" {
          send "yes\r"
          exp_continue
      }
      "worker@*password" {              # 登錄目標服務(wù)器自動輸入密碼期望遇到的字符
          send "$worker_password\n"
          exp_continue
      }
}
 expect "long@localhost*" # 標識文件傳輸完成時望几,期望遇到的字符
 interact

使用


如果該腳本文件名為myscp绩脆。使用例子如下:

./mycsp helloWord-1.0-SNAPSHOT.jar 用戶名@B.B.B.B:/home/worker/

原理


將以下命令自動化

scp -o ProxyCommand='ssh -q 用戶名@A.A.A.A -W %h:%p' helloWord-1.0-SNAPSHOT.jar 用戶名@B.B.B.B:/home/worker/

用戶名@A.A.A.A : ssh 登錄relay是的用戶名和relay機器地址

用戶名@B.B.B.B : scp 到目標服務(wù)器的用戶名和服務(wù)器地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子靴迫,更是在濱河造成了極大的恐慌惕味,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,734評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件玉锌,死亡現(xiàn)場離奇詭異名挥,居然都是意外死亡,警方通過查閱死者的電腦和手機主守,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,931評論 3 394
  • 文/潘曉璐 我一進店門禀倔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人参淫,你說我怎么就攤上這事救湖。” “怎么了涎才?”我有些...
    開封第一講書人閱讀 164,133評論 0 354
  • 文/不壞的土叔 我叫張陵鞋既,是天一觀的道長。 經(jīng)常有香客問我耍铜,道長邑闺,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,532評論 1 293
  • 正文 為了忘掉前任棕兼,我火速辦了婚禮陡舅,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘程储。我一直安慰自己蹭沛,他們只是感情好,可當我...
    茶點故事閱讀 67,585評論 6 392
  • 文/花漫 我一把揭開白布章鲤。 她就那樣靜靜地躺著摊灭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪败徊。 梳的紋絲不亂的頭發(fā)上帚呼,一...
    開封第一講書人閱讀 51,462評論 1 302
  • 那天,我揣著相機與錄音皱蹦,去河邊找鬼煤杀。 笑死,一個胖子當著我的面吹牛沪哺,可吹牛的內(nèi)容都是我干的沈自。 我是一名探鬼主播,決...
    沈念sama閱讀 40,262評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼辜妓,長吁一口氣:“原來是場噩夢啊……” “哼枯途!你這毒婦竟也來了忌怎?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,153評論 0 276
  • 序言:老撾萬榮一對情侶失蹤酪夷,失蹤者是張志新(化名)和其女友劉穎榴啸,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晚岭,經(jīng)...
    沈念sama閱讀 45,587評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡鸥印,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,792評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了坦报。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片库说。...
    茶點故事閱讀 39,919評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖燎竖,靈堂內(nèi)的尸體忽然破棺而出璃弄,到底是詐尸還是另有隱情,我是刑警寧澤构回,帶...
    沈念sama閱讀 35,635評論 5 345
  • 正文 年R本政府宣布夏块,位于F島的核電站,受9級特大地震影響纤掸,放射性物質(zhì)發(fā)生泄漏脐供。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,237評論 3 329
  • 文/蒙蒙 一借跪、第九天 我趴在偏房一處隱蔽的房頂上張望政己。 院中可真熱鬧,春花似錦掏愁、人聲如沸歇由。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,855評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沦泌。三九已至,卻和暖如春辛掠,著一層夾襖步出監(jiān)牢的瞬間谢谦,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,983評論 1 269
  • 我被黑心中介騙來泰國打工萝衩, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留回挽,地道東北人。 一個月前我還...
    沈念sama閱讀 48,048評論 3 370
  • 正文 我出身青樓猩谊,卻偏偏與公主長得像千劈,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子牌捷,可洞房花燭夜當晚...
    茶點故事閱讀 44,864評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理墙牌,服務(wù)發(fā)現(xiàn)袁梗,斷路器,智...
    卡卡羅2017閱讀 134,656評論 18 139
  • 國家電網(wǎng)公司企業(yè)標準(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 10,967評論 6 13
  • CA和證書安全協(xié)議(SSL/TLS)OpenSSH 一憔古、CA和證書 (一) PKI(Public Key Infr...
    哈嘍別樣閱讀 1,391評論 0 0
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯誤還是無法避免 以后資料會慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,166評論 2 33
  • 1.Linux下如何用命令查看實時日志(完整命令) tail -f 路徑.log查看前多少行 tai-200f 路...
    qianyewhy閱讀 2,278評論 0 11