shell 執行遠端命令

2022-09-21 14:45:07 字數 1291 閱讀 4213

經常需要遠端到其他節點上執行一些shell命令,如果分別ssh到每台主機上再去執行很麻煩,因此能有個集中管理的方式就好了。一下介紹兩種shell命令遠端執行的方法。

配置ssh免密碼登陸

如果是簡單執行幾個命令,則:

ssh user@remotenode "cd /home ; ls"
基本能完成常用的對於遠端節點的管理了,幾個注意的點:

雙引號,必須有。如果不加雙引號,第二個ls命令在本地執行

分號,兩個命令之間用分號隔開

有些遠端執行的命令內容較多,單一命令無法完成,考慮指令碼方式實現:

#!/bin/bash

ssh user@remotenode > /dev/null 2>&1 << eeooff

cd /home

touch abcdefg.txt

exit

eeooff

echo done!

遠端執行的內容在「<< eeooff 」 至「 eeooff 」之間,在遠端機器上的操作就位於其中,注意的點:

<< eeooff,ssh後直到遇到eeooff這樣的內容結束,eeooff可以隨便修改成其他形式。

重定向目的在於不顯示遠端的輸出了

在結束前,加exit退出遠端節點

經常需要遠端到其他節點上執行一些shell命令,如果分別ssh到每台主機上再去執行很麻煩,因此能有個集中管理的方式就好了。一下介紹兩種shell命令遠端執行的方法。

配置ssh免密碼登陸

如果是簡單執行幾個命令,則:

ssh user@remotenode "cd /home ; ls"
基本能完成常用的對於遠端節點的管理了,幾個注意的點:

雙引號,必須有。如果不加雙引號,第二個ls命令在本地執行

分號,兩個命令之間用分號隔開

有些遠端執行的命令內容較多,單一命令無法完成,考慮指令碼方式實現:

#!/bin/bash

ssh user@remotenode > /dev/null 2>&1 << eeooff

cd /home

touch abcdefg.txt

exit

eeooff

echo done!

遠端執行的內容在「<< eeooff 」 至「 eeooff 」之間,在遠端機器上的操作就位於其中,注意的點:

<< eeooff,ssh後直到遇到eeooff這樣的內容結束,eeooff可以隨便修改成其他形式。

重定向目的在於不顯示遠端的輸出了

在結束前,加exit退出遠端節點

shell遠端執行命令

ssh主要引數說明 l 指定登入使用者 p 設定埠號 f 後台執行,並推薦加上 n 引數 n 將標準輸入重定向到 dev null,防止讀取標準輸入 n 不執行遠端命令,只做埠 q 安靜模式,忽略一切對話和錯誤提示 t 禁用偽終端配置 bin sh host list host1 host2 hos...

shell登入遠端伺服器執行命令

參考 大概如下 sshpass p password ssh o stricthostkeychecking no root h tt dev null 2 1 remotessh echo i am in h cd dir echo h tests exit remotessh其中 sshpass...

遠端執行命令

遠端執行命令 這個分兩步,很簡單很實用。第一步,設定ssh免認證,免認證就是只不用密碼認證就可以直接登入,這在寫指令碼伺服器控制時特別有用。ssh keygen t rsa cd ssh ssh copy id xuexi01注 xuexi01是主機名,也可寫成ip,如192.168.2.11 第二...