說(shuō)明:可以做SSH免密登錄之后執(zhí)行,這樣可以省去每次執(zhí)行輸入密碼的提示。
對(duì)于簡(jiǎn)單的命令:
如果是簡(jiǎn)單執(zhí)行幾個(gè)命令,則:
ssh user@remoteNode "cd /home ; ls"
基本能完成常用的對(duì)于遠(yuǎn)程節(jié)點(diǎn)的管理了,幾個(gè)注意的點(diǎn):
- 雙引號(hào),必須有。如果不加雙引號(hào),第二個(gè)ls命令在本地執(zhí)行
- 分號(hào),兩個(gè)命令之間用分號(hào)隔開(kāi)
- 多行命令可以輸入雙引號(hào)后回車,結(jié)尾使用雙引號(hào)包裹
對(duì)于腳本的方式:
有些遠(yuǎn)程執(zhí)行的命令內(nèi)容較多,單一命令無(wú)法完成,考慮腳本方式實(shí)現(xiàn):
#!/bin/bash
ssh user@remoteNode > /dev/null 2>&1 << eeooff
cd /home
touch abcdefg.txt
exit
eeooff
echo done!
遠(yuǎn)程執(zhí)行的內(nèi)容在”<< eeooff“至”eeooff“之間,在遠(yuǎn)程機(jī)器上的操作就位于其中,注意的點(diǎn):
<< eeooff,ssh后直到遇到eeooff這樣的內(nèi)容結(jié)束,eeooff可以隨便修改成其他形式。
重定向目的在于不顯示遠(yuǎn)程的輸出了
在結(jié)束前,加exit退出遠(yuǎn)程節(jié)點(diǎn)
執(zhí)行本地的腳本
我們?cè)诒镜貏?chuàng)建一個(gè)腳本文件test.sh,內(nèi)容為:
然后運(yùn)行下面的命令:
ssh root@xxx.xxx.xxx.xxx < test.sh
帶參數(shù)本地腳本
ssh root@xxx.xxx.xxx.xxx 'bash -s' < test.sh helloworld
執(zhí)行遠(yuǎn)程服務(wù)器上的腳本
ssh root@xxx.xxx.xxx.xxx "/home/nick/test.sh"
執(zhí)行遠(yuǎn)程服務(wù)器上帶參數(shù)的腳本
ssh root@xxx.xxx.xxx.xxx /home/nick/test.sh helloworld
總結(jié)
以上所述是小編給大家介紹的Linux下使用SSH遠(yuǎn)程執(zhí)行命令方法收集,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!