欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年04月16日 10:59:41   投稿:junjie  
這篇文章主要介紹了ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例,本文講解了ssh執(zhí)行遠(yuǎn)程操作方法和遠(yuǎn)程執(zhí)行命令shell腳本示例,需要的朋友可以參考下

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

ssh執(zhí)行遠(yuǎn)程操作
命令格式

復(fù)制代碼 代碼如下:

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ù)

復(fù)制代碼 代碼如下:

-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)密碼了,非常安全
命令格式

復(fù)制代碼 代碼如下:

ssh -t -p $port $user@$ip  'cmd' 

示例腳本

復(fù)制代碼 代碼如下:

#!/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)文章

最新評(píng)論