ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例
寫這篇博客之前,我google了一堆相關(guān)文章,大都是說修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,沒有遠(yuǎn)程虛擬終端這個(gè)方法就是浮云,ubuntu10.04 server 親測(cè)??!
ssh執(zhí)行遠(yuǎn)程操作
命令格式
ssh -p $port $user@$p 'cmd'
$port : ssh連接端口號(hào)
$user: ssh連接用戶名
$ip:ssh連接的ip地址
cmd:遠(yuǎn)程服務(wù)器需要執(zhí)行的操作
準(zhǔn)備工作
基于公私鑰認(rèn)證或者用戶名密碼認(rèn)證能確保登錄到遠(yuǎn)程local2服務(wù)器(有點(diǎn)基本運(yùn)維知識(shí)的人做這個(gè)事情都不是問題)
cmd如果是腳本,注意絕對(duì)路徑問題(相對(duì)路徑在遠(yuǎn)程執(zhí)行時(shí)就是坑)
不足
這個(gè)命令可以滿足我們大多數(shù)的需求,但是通常運(yùn)維部署很多東西的時(shí)候需要root權(quán)限,但是有幾處限制:
遠(yuǎn)程服務(wù)器local2禁止root用戶登錄
在遠(yuǎn)程服務(wù)器腳本里轉(zhuǎn)換身份用expect需要send密碼,這樣不夠安全
ssh的-t參數(shù)
-t Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.
中文翻譯一下:就是可以提供一個(gè)遠(yuǎn)程服務(wù)器的虛擬tty終端,加上這個(gè)參數(shù)我們就可以在遠(yuǎn)程服務(wù)器的虛擬終端上輸入自己的提權(quán)密碼了,非常安全
命令格式
ssh -t -p $port $user@$ip 'cmd'
示例腳本
#!/bin/bash
#變量定義
ip_array=("192.168.1.1" "192.168.1.2" "192.168.1.3")
user="test1"
remote_cmd="/home/test/1.sh"
#本地通過ssh執(zhí)行遠(yuǎn)程服務(wù)器的腳本
for ip in ${ip_array[*]}
do
if [ $ip = "192.168.1.1" ]; then
port="7777"
else
port="22"
fi
ssh -t -p $port $user@$ip "remote_cmd"
done
這個(gè)方法還是很方便的,-t虛擬出一個(gè)遠(yuǎn)程服務(wù)器的終端,在多臺(tái)服務(wù)器同時(shí)部署時(shí)確實(shí)節(jié)約了不少時(shí)間?。?br />
相關(guān)文章
linux系統(tǒng)下用.sh文件執(zhí)行python命令的方法
這篇文章主要給大家介紹了關(guān)于linux系統(tǒng)下用.sh文件執(zhí)行python命令的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-07-07分享一個(gè)實(shí)用的iptables腳本(各種過濾寫法參考)
這篇文章主要介紹了分享一個(gè)實(shí)用的iptables腳本(各種過濾寫法參考),需要的朋友可以參考下2014-04-04linux bash腳本監(jiān)控啟動(dòng)停止weblogic服務(wù)的腳本寫法
這篇文章主要介紹了linux bash腳本監(jiān)控啟動(dòng)停止weblogic服務(wù)的腳本寫法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-02-02Linux消息隊(duì)列實(shí)現(xiàn)進(jìn)程間通信實(shí)例詳解
這篇文章主要介紹了Linux消息隊(duì)列實(shí)現(xiàn)進(jìn)程間通信實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下2017-07-07解析spark源碼yarn-cluster模式任務(wù)提交
這篇文章主要為大家解析了spark源碼中yarn-cluster模式任務(wù)提交方式,有需要的朋友可以借鑒參考下,希望可以有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-09-09