日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux远程脚本事例,ssh远程执行命令方法和Shell脚本实例

發(fā)布時間:2025/5/22 linux 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux远程脚本事例,ssh远程执行命令方法和Shell脚本实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

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

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

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

$port : ssh連接端口號

$user: ssh連接用戶名

$ip:ssh連接的ip地址

cmd:遠(yuǎn)程服務(wù)器需要執(zhí)行的操作

準(zhǔn)備工作

基于公私鑰認(rèn)證或者用戶名密碼認(rèn)證能確保登錄到遠(yuǎn)程local2服務(wù)器(有點基本運維知識的人做這個事情都不是問題)

cmd如果是腳本,注意絕對路徑問題(相對路徑在遠(yuǎn)程執(zhí)行時就是坑)

不足

這個命令可以滿足我們大多數(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.

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

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

總結(jié)

以上是生活随笔為你收集整理的linux远程脚本事例,ssh远程执行命令方法和Shell脚本实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。