當前位置:首頁 » 編程軟體 » ssh執行本地腳本

ssh執行本地腳本

發布時間: 2024-01-22 23:19:56

㈠ 在腳本中使用ssh時的幾個注意事項

1. 超時設置
-o ConnectTimeout=3
2. 重定項標准輸入到/dev/null
-n
當使用這樣的形式時 (使用 key 認證):
while read line ; do ip=$(awk '{print $1}' < << $line ) ssh -n -o ConnectTimeout=3 $i uptime done < file
假如此時不使用 -n ,則只有第一行會被處理。
3. 批處理模式,在腳本中使用再合適不過(使用 key 認證)
-o BatchMode=yes
當 key 認證不成功時,有可能會彈出「密碼認識」,從而影響腳本運行下去,此時可以打開 BatchMode模式。
4. 遇到未知主機:
-o StrictHostKeyChecking=no
當遇到未知的主機公鑰時,自動接受key。
5. 糟遇遠程主機連接後無響應:
當設置了 BatchMode 時 ServerAliveInterval 默認被設置成 300 秒(服務端無數據傳回的持續時間)。
ServerAliveCountMax相當於是重試的次數,比如下面的例子,15秒 x 3 = 45 秒,即當 45 秒後,真正超時斷開。
TCPKeepAlive打開時,便於發現網路的斷開。當網路故障(比如路由器壞掉)或者遠端開機、死機時,連接會主動斷開,否則的話,將會等待相當一段時間後才會斷開。
-o ServerAliveInterval=15
-o ServerAliveCountMax=3
-o TCPKeepAlive=yes
需要注意的是,這里的超時、無響應,僅是 ssh或者sshd無影響,假如是在遠程上執行程序,程序無響應,則不能處理此時的超時,解決方法見《在Shell中實現非同步》。

java SSH遠程到linux 執行本地的腳本

scp file yonghuming@伺服器 :/路徑

把本地文件 file 傳送到 伺服器 的 /路徑 下。
然後就可以遠程執行了。

㈢ 怎麼在一個shell腳本中執行遠程主機的另一個shell腳本 ssh已經可以無密碼登錄了。

假設你要操作的是遠程伺服器
IP為:1.1.1.1
操作的腳本是 :/home/a.sh

操作命令為
ssh 1.1.1.1 「/bin/bash /home/a.sh」

㈣ shell本地腳本調用遠程腳本,當遠程腳本執行完再繼續執行本地腳本

#!/bin/bash

#調用expect腳本執行遠程sh
expect-c'
settimeout10000
spawnsshusr@ip
expect{
"yes/no"{send"yes ";exp_continue}
"*assword"{send"passwd "}
}
expect"#"
send"sh1 "
expect"#"
'
echo
ls-l

其中timeout時間需要設置足夠長,不然會連接超時斷掉。

或者你配置了rsh,可以把上面的expect過程替換成rsh [Host] [-l UserName] [-n] [Command]

熱點內容
煙花的代碼c語言 發布:2025-07-01 23:56:04 瀏覽:223
安卓默認打開文件方式怎麼修改 發布:2025-07-01 23:30:38 瀏覽:862
壓縮機接線座 發布:2025-07-01 23:17:48 瀏覽:662
iqoo瀏覽器緩存路徑 發布:2025-07-01 23:12:38 瀏覽:691
明日之後如何獲得最新伺服器 發布:2025-07-01 23:12:35 瀏覽:50
tv加密頻道 發布:2025-07-01 23:10:58 瀏覽:623
如何找到5d4通信密碼 發布:2025-07-01 23:03:35 瀏覽:233
華為pop伺服器地址怎麼填 發布:2025-07-01 23:02:44 瀏覽:462
訪問量賺錢 發布:2025-07-01 22:47:58 瀏覽:383
衛士開門軟體原始密碼是多少 發布:2025-07-01 22:42:17 瀏覽:958