簡體   English   中英

在遠程計算機中將Shell腳本轉換為Sudo並執行命令

[英]Shell script to Sudo in Remote Machine and execute commands

#!/bin/csh
ssh -o StrictHostKeyChecking=no xyz123@remotemachine.com
sudo -su rootuser
ksh
. /mydir/setup_env.ksh
ls -ltr

以上是我需要做的任務清單。

  1. 登錄到沒有密碼提示的遠程計算機
  2. 運行Sudo以訪問Root
  3. 將shell更改為ksh
  4. 執行腳本(setup_env.ksh)
  5. 使用ls -ltr列出文件

當我從執行腳本時,請說localunixmachine.com ...

  1. 它要求我輸入密碼
  2. 輸入密碼后,它將轉移到遠程計算機,但不會執行其余命令
  3. 如果我退出遠程會話,它將執行剩余命令。

能否請您指導我什么是完成我在這里嘗試的最佳方法。

首先,您可以將ssh公鑰復制到遠程服務器的root / .ssh / authorized_keys中,該ssh公鑰可以將ssh-keygen成為authorized_keys,然后腳本將是

ssh root@remotemachine.com "/bin/ksh mydir/setup_env.ksh"

我認為這應該可以遠程執行多個命令:

#!/bin/bash
ssh -o StrictHostKeyChecking=no xyz123@remotemachine.com <<EOF
sudo -su rootuser
ksh
. /mydir/setup_env.ksh
ls -ltr
EOF

至於不使用密碼登錄服務器,則需要使用密鑰設置ssh身份驗證。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM