如何通過(guò) ssh 在遠(yuǎn)程 linux 系統(tǒng)上運(yùn)行命令
我們有時(shí)可能需要在遠(yuǎn)程機(jī)器上運(yùn)行一些命令。如果只是偶爾進(jìn)行的操作,要實(shí)現(xiàn)這個(gè)目的,可以登錄到遠(yuǎn)程系統(tǒng)上直接執(zhí)行命令。但是每次都這么做的話,就有點(diǎn)煩人了。既然如此,有沒(méi)有擺脫這種麻煩操作的更佳方案?
-- magesh maruthamuthu(作者)
我們有時(shí)可能需要在遠(yuǎn)程機(jī)器上運(yùn)行一些命令。如果只是偶爾進(jìn)行的操作,要實(shí)現(xiàn)這個(gè)目的,可以登錄到遠(yuǎn)程系統(tǒng)上直接執(zhí)行命令。但是每次都這么做的話,就有點(diǎn)煩人了。既然如此,有沒(méi)有擺脫這種麻煩操作的更佳方案?
是的,你可以從你本地系統(tǒng)上執(zhí)行這些操作,而不用登錄到遠(yuǎn)程系統(tǒng)上。這有什么好處嗎?毫無(wú)疑問(wèn)。這會(huì)為你節(jié)省很多好時(shí)光。
這是怎么實(shí)現(xiàn)的?ssh 允許你無(wú)需登錄到遠(yuǎn)程計(jì)算機(jī)就可以在它上面運(yùn)行命令。
通用語(yǔ)法如下所示:
下面的例子允許用戶通過(guò) ssh 在遠(yuǎn)程 linux 機(jī)器上運(yùn)行 df 命令 。
下面的例子允許用戶通過(guò) ssh 在遠(yuǎn)程 linux 機(jī)器上一次運(yùn)行多條命令。
同時(shí)在遠(yuǎn)程 linux 系統(tǒng)上運(yùn)行 uptime 命令和 free 命令。
下面的例子允許用戶通過(guò) ssh 在遠(yuǎn)程 linux 機(jī)器上運(yùn)行帶有 sudo 權(quán)限 的 fdisk 命令。
普通用戶不允許執(zhí)行系統(tǒng)二進(jìn)制(/usr/sbin/)目錄下提供的命令。用戶需要 root 權(quán)限來(lái)運(yùn)行它。
所以你需要 root 權(quán)限,好在 linux 系統(tǒng)上運(yùn)行 fdisk 命令 。which 命令返回給定命令的完整可執(zhí)行路徑。
下面的例子允許用戶通過(guò) ssh 在遠(yuǎn)程 linux 機(jī)器上運(yùn)行帶有 sudo 權(quán)限的服務(wù)控制命令。
下面的例子允許用戶通過(guò) ssh 在使用了非標(biāo)準(zhǔn)端口的遠(yuǎn)程 linux 機(jī)器上運(yùn)行 hostnamectl 命令 。
下面的例子允許用戶通過(guò) ssh 在遠(yuǎn)程 linux 機(jī)器上運(yùn)行 top 命令 ,并將輸出保存到本地系統(tǒng)。
或者你也可以使用以下格式在遠(yuǎn)程系統(tǒng)上運(yùn)行多條命令:
上面命令的輸出如下:
下面的例子允許用戶通過(guò) ssh 在遠(yuǎn)程 linux 機(jī)器上運(yùn)行本地 bash 腳本 remote-test.sh。
創(chuàng)建一個(gè) shell 腳本并執(zhí)行它。
上面命令的輸出如下:
或者也可以使用管道。如果你覺(jué)得輸出不太好看,再做點(diǎn)修改讓它更優(yōu)雅些。
上面腳本的輸出如下:
下面的 bash 腳本允許用戶同時(shí)在多個(gè)遠(yuǎn)程系統(tǒng)上運(yùn)行多條指令。使用簡(jiǎn)單的 for 循環(huán)實(shí)現(xiàn)。
為了實(shí)現(xiàn)這個(gè)目的,你可以嘗試 pssh 命令 或 clustershell 命令 或 dsh 命令 。
上面腳本的輸出如下:
如果你覺(jué)得每次輸入密碼很麻煩,我建議你視你的需求選擇以下方法中的一項(xiàng)來(lái)解決這個(gè)問(wèn)題。
如果你經(jīng)常進(jìn)行類似的操作,我建議你設(shè)置 免密碼認(rèn)證 ,因?yàn)樗菢?biāo)準(zhǔn)且永久的解決方案。
如果你一個(gè)月只是執(zhí)行幾次這些任務(wù),我推薦你使用 sshpass 工具。只需要使用 -p 參數(shù)選項(xiàng)提供你的密碼即可。
福州到陽(yáng)谷物流專線杭州到陽(yáng)泉物流專線網(wǎng)絡(luò)營(yíng)銷看CSS+DIV的優(yōu)勢(shì)和問(wèn)題煙臺(tái)到恩施物流專線南昌到溧陽(yáng)物流專線南昌到黃石物流專線廈門(mén)到揚(yáng)州物流專線濟(jì)南到孟州物流專線