Linux下使用SSH遠程執行命令方法收集

說明:能夠作SSH免密登陸以後執行,這樣能夠省去每次執行輸入密碼的提示。html

對於簡單的命令:bash

若是是簡單執行幾個命令,則:服務器

ssh user@remoteNode "cd /home ; ls"

基本能完成經常使用的對於遠程節點的管理了,幾個注意的點:ssh

  • 雙引號,必須有。若是不加雙引號,第二個ls命令在本地執行
  • 分號,兩個命令之間用分號隔開
  • 多行命令能夠輸入雙引號後回車,結尾使用雙引號包裹

對於腳本的方式:spa

有些遠程執行的命令內容較多,單一命令沒法完成,考慮腳本方式實現:code

#!/bin/bash
ssh user@remoteNode > /dev/null 2>&1 << eeooff
cd /home
touch abcdefg.txt
exit
eeooff
echo done!

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

  • << eeooff,ssh後直到遇到eeooff這樣的內容結束,eeooff能夠隨便修改爲其餘形式。
  • 重定向目的在於不顯示遠程的輸出了
  • 在結束前,加exit退出遠程節點

執行本地的腳本blog

咱們在本地建立一個腳本文件test.sh,內容爲:rem

ls
pwd
echo $0

而後運行下面的命令:get

ssh root@xxx.xxx.xxx.xxx < test.sh

帶參數本地腳本

ssh root@xxx.xxx.xxx.xxx 'bash -s' < test.sh helloworld

執行遠程服務器上的腳本

ssh root@xxx.xxx.xxx.xxx "/home/nick/test.sh"

執行遠程服務器上帶參數的腳本

ssh root@xxx.xxx.xxx.xxx /home/nick/test.sh helloworld

 

參考:

http://www.cnblogs.com/ilfmonday/p/ShellRemote.html(以上內容部分轉自此篇文章)

http://www.javashuo.com/article/p-ofwmixvl-dg.html(以上內容部分轉自此篇文章)

相關文章
相關標籤/搜索