linux 下如何通過ssh到其他機器然後執行命令?
阿新 • • 發佈:2019-01-02
在Linux下經常寫shell指令碼,當然少不了需要在各臺機器上執行命令了。
假如現在我要在10.2.226.201上寫shell並且執行這個shell指令碼。可是這個指令碼需要在10.2.226.202和10.2.226.203上執行一下命令。如何實現呢?
摸索了幾種方法,可是感覺最簡單的方法就是通過SSH了。如何實現呢?
1. 在上面三臺機器上分別配置使用者ssh等效性連線。(注意:在所有機器上都要執行下面的操作)
cd /home/使用者名稱
ssh-keygen
ssh-copy-id -i .ssh/id_rsa.pub hostname01
ssh-copy-id -i .ssh/id_rsa.pub hostname02
ssh-copy-id -i .ssh/id_rsa.pub hostname03
SSH等效性連線提供了一種在叢集中其他主機上覆制檔案和執行程式時不需要口令提示的安全方式。
2.配置好SSH等效性連線後,在這三臺機器上覆制檔案和執行程式就不在需要口令了。當然ssh過去也是不需要口令的。
我在10.2.226.201上寫的腳步如何在其他機器上執行命名呢?
如果我連到另一臺機器上只是執行一個命令可以這樣寫:
如果我連到另一臺機器上執行多於一個命令可以這樣寫:
注意:當多於兩個命令時,一定要把所有命令以分號的方式寫在雙引號裡面。
3. 沒有第三步了。