国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

ssh遠程執(zhí)行命令方法和Shell腳本實例

2019-10-26 18:45:51
字體:
供稿:網(wǎng)友

寫這篇博客之前,我google了一堆相關(guān)文章,大都是說修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,沒有遠程虛擬終端這個方法就是浮云,ubuntu10.04 server 親測!!

ssh執(zhí)行遠程操作
命令格式
代碼如下:
ssh -p $port $user@$p 'cmd' 
 
$port : ssh連接端口號 
$user: ssh連接用戶名 
$ip:ssh連接的ip地址 
cmd:遠程服務(wù)器需要執(zhí)行的操作 

準備工作

基于公私鑰認證或者用戶名密碼認證能確保登錄到遠程local2服務(wù)器(有點基本運維知識的人做這個事情都不是問題)
cmd如果是腳本,注意絕對路徑問題(相對路徑在遠程執(zhí)行時就是坑)

不足

這個命令可以滿足我們大多數(shù)的需求,但是通常運維部署很多東西的時候需要root權(quán)限,但是有幾處限制:
遠程服務(wù)器local2禁止root用戶登錄
在遠程服務(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. 

中文翻譯一下:就是可以提供一個遠程服務(wù)器的虛擬tty終端,加上這個參數(shù)我們就可以在遠程服務(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í)行遠程服務(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 

這個方法還是很方便的,-t虛擬出一個遠程服務(wù)器的終端,在多臺服務(wù)器同時部署時確實節(jié)約了不少時間啊!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 岑溪市| 仁寿县| 黄梅县| 河北省| 商南县| 德保县| 太和县| 麟游县| 刚察县| 浙江省| 大连市| 永靖县| 许昌市| 乐清市| 香格里拉县| 张家港市| 准格尔旗| 延津县| 库尔勒市| 太白县| 石渠县| 新绛县| 安龙县| 冀州市| 遂溪县| 琼海市| 乐至县| 陆河县| 梓潼县| 嘉荫县| 即墨市| 叙永县| 合阳县| 仁化县| 宜章县| 武义县| 潼关县| 日喀则市| 马边| 宝应县| 明溪县|