濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例

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

熱門標(biāo)簽:地圖標(biāo)注輻射圖案 寧波智能外呼系統(tǒng)公司 衛(wèi)星地圖標(biāo)注地名 聯(lián)通電話機(jī)器人怎么接 奧維互動(dòng)地圖標(biāo)注參數(shù) 電銷機(jī)器人 劍魚 申請(qǐng)公司400電話要注意什么 曲阜400電話辦理 安裝外呼系統(tǒng)費(fèi)用

寫這篇博客之前,我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í)間啊!

您可能感興趣的文章:
  • Windows上SSH服務(wù)器配置圖文教程
  • windows 7架設(shè)OpenSSH服務(wù)器實(shí)踐
  • python通過ssh-powershell監(jiān)控windows的方法
  • Windows系統(tǒng)下安裝Python的SSH模塊教程
  • windows7下安裝php的php-ssh2擴(kuò)展教程
  • ssh自動(dòng)登錄的4種實(shí)現(xiàn)方法
  • python paramiko實(shí)現(xiàn)ssh遠(yuǎn)程訪問的方法
  • Python實(shí)現(xiàn)建立SSH連接的方法
  • 簡(jiǎn)單架設(shè)SSH+Squid代理服務(wù)器的自由上網(wǎng)通道的方法
  • 關(guān)于ssh連不上問題的解決方法(必看)
  • SSH框架網(wǎng)上商城項(xiàng)目第30戰(zhàn)之項(xiàng)目總結(jié)(附源碼下載地址)
  • 關(guān)于SSH 遠(yuǎn)程執(zhí)行命令你要知道的二三事
  • SSH+Jquery+Ajax框架整合
  • Ubuntu下查看ssh服務(wù)是否安裝或啟動(dòng)的方法
  • ssh連接超時(shí)解決方法
  • PowerShell小技巧之嘗試ssh登錄
  • shell腳本實(shí)現(xiàn)ssh自動(dòng)登錄功能分享
  • linux系統(tǒng)下的ssh登錄和配置方法
  • Linux ssh遠(yuǎn)程連接斷開問題處理辦法解決
  • python使用paramiko模塊實(shí)現(xiàn)ssh遠(yuǎn)程登陸上傳文件并執(zhí)行
  • 無需密碼通過ssh執(zhí)行rsync來同步文件的方法
  • ubuntu16.04下安裝openssh-server報(bào)依賴錯(cuò)誤的完美解決方法(非常不錯(cuò))
  • windows安裝openssh并通過生成SSH密鑰登錄Linux服務(wù)器

標(biāo)簽:遵義 江西 三門峽 大慶 上饒 安康 仙桃 大興安嶺

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例》,本文關(guān)鍵詞  ssh,遠(yuǎn)程,執(zhí)行,命令,方法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ssh遠(yuǎn)程執(zhí)行命令方法和Shell腳本實(shí)例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    赤峰市| 辽宁省| 都昌县| 襄垣县| 寿阳县| 香河县| 巫山县| 仙游县| 句容市| 平利县| 东明县| 正宁县| 包头市| 松潘县| 厦门市| 化州市| 沅陵县| 昭通市| 壤塘县| 老河口市| 沁水县| 汕尾市| 大厂| 荃湾区| 泰兴市| 太湖县| 绥宁县| 桂阳县| 彰武县| 富民县| 鹿邑县| 肇东市| 吐鲁番市| 北海市| 房山区| 临夏市| 谷城县| 盐源县| 通海县| 广河县| 盐池县|