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

ssh執行腳本

發布時間: 2022-10-08 15:49:46

1. 請問我在linux下想實現一個終端同時通過SSH執行其它多個終端內的shell腳本怎麼實現

ssh $IP_102 -l $User "sh 102.sh"&
ssh $IP_103 -l $User "sh 103.sh"&
這樣執行就可以同時執行了,否則是一個一個執行的。
如果判斷是否執行完成就寫一個log日誌,看好讀日誌就可以了。

2. 利用shell腳本執行ssh遠程另一台主機執行命令並返回命令的結果集

假設從主機A,檢查主機B上的進程,
需要在主機B上建立檢查用戶,例如叫x,
並設置通過public key認證登錄SSH,不會可以google搜一下,
然後,在A機器上執行:
ssh x@B ~/command.sh > result.txt
command.sh就是B機器上放置在x目錄下的腳本。
輸出結果應該是寫到了result.txt
或者另一種寫法
result=`ssh x@B ~/command.sh`
結果直接保存到result變數中了。
暫時沒有linux環境,所以沒有實際測試,你自己試試吧
免費提供最新Linux技術教程書籍,入門自學書籍《linux就該這么學》,為開源技術愛好者努力做得更多更好

3. SSH的運行腳本的語句


-V Display the version number and exit.

顯示版本號並退出。

退出SSH當然就斷開連接啦。


寫在shell腳本里,執行的時候是在新建shell中執行的,退出也只是退出新建shell回到原shell,所以不影響連接。

試試執行:

(ssh-V)

放到小括弧中,同樣會新建shell去執行。




4. paramiko的簡單使用(ssh遠程執行腳本和上傳文件)

備註:使用paramiko==2.1.1版本

import paramiko

s = paramiko.SSHClient()

s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

s.connect(hostname='192.168.161.xxx',username='root',password='xxx')

sftp = s.open_sftp()

sftp.put('../test.sh', '/data/test.sh')

sftp.close()

stdin, stdout, stderr = s.exec_command("cd /data/;./test.sh")

print stdout.read()

print stderr.read()

s.close()

importparamiko

transport = paramiko.Transport(('192.168.161.xxx',22))

transport.connect(username='root',password='xxx')

sftp = paramiko.SFTPClient.from_transport(transport)

sftp.put('./test.sh','/data/test.sh')

transport.close()

5. 在腳本中使用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中實現非同步》。

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

scp file yonghuming@伺服器 :/路徑

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

7. 需求:linux腳本ssh登錄到A機器然後再ssh到B機器然後再ssh到C機器,執行命令。這個腳本怎麼寫

#!/usr/bin/expect
spawnsshaaa@ip-address
expect"password:"
send"password "
expect"$"
send"sshbbb@ip-address "
expect"bbb@ip-address'spassword:"
send"password "
expect"$"
send"sshccc@ip-address "
expect"ccc@ip-address'spassword:"
send"password "
expect"$"
send"pwd "
interact

8. python怎樣ssh 連接遠程機器並且執行腳本命令

result=os.popen("ssh A; grep -r hello ./* ") print("".join(result))

9. linux下如何使用ssh遠程登錄主機 執行shell腳本

知道linux的ip,用戶和密碼就可以遠程登陸了。在你的SSH 客戶端會有一個linux的終端。在這執行命令就可以了。

10. ssh登錄到遠端伺服器執行本地腳本,怎麼給腳本傳遞位置參數

首先要設置ssh信任 ----> 實現無密碼ssh登錄. 這個你可以自行搜索, 腳本非常簡單: ssh user@host "command $var"

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:335
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:377
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:31
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:942
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:739
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:802
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:510
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:371