[英]How to execute a local bash script on remote server via ssh with nohup
[英]SSH to Remote Server Bash Programming
我編寫了一個腳本,該腳本通過執行以下“ nvidia-smi”命令SSH到遠程服務器並獲取GPU服務器的狀態,這只是腳本的描述和目的,但問題是我以“ root”身份運行此命令,可以通過另一台服務器無密碼,但用戶不能密碼,如何編寫腳本以使用戶運行腳本並獲取狀態? 當然,無需輸入密碼到遠程服務器,我可以使用任何身份驗證嗎?
這是腳本:
#!/bin/bash
HOSTS="gpuserver01\ngpuserver02"
SCRIPTS="nvidia-smi"
echo -e "which GPU server do you want to check?\n$HOSTS\n"-----------------""
echo "Please Enter Numebr of GPU Server"
read ans
#for HOSTNAME in $ans ; do
if [ $ans = '1' ]; then
HOSTNAME="gpuserver01"
ssh ${HOSTNAME} "${SCRIPTS}"
else
HOSTNAME="gpuserver02"
ssh ${HOSTNAME} "${SCRIPTS}"
fi
#done
謝謝。
您可以將腳本權限授予其他用戶以root特權運行。
運行visudo
,在下面添加;
Cmnd_Alias CUSTOM_CMD=/path/to/script/myscript.sh
myUser1 ALL = (root) NOPASSWD:CUSTOM_CMD
如果其他用戶具有相同group.Let說otherUsers
Cmnd_Alias CUSTOM_CMD=/path/to/script/myscript.sh
%otherUsers ALL = (root) NOPASSWD:CUSTOM_CMD
[2] http://www.cyberciti.biz/faq/unix-bsd-linux-setuid-file/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.