如何將腳本檔案放置在其他機器根目錄

如何將腳本檔案放置在其他機器根目錄

我想將腳本檔案放在其他機器根目錄上。這是我的終端命令

scp /var/www/html/script.sh [email protected]:script.sh

它要求輸入 root 密碼。我輸入了正確的 root 密碼,但它說

Permission denied, please try again.

有人可以幫忙嗎?

答案1

預設情況下,openssh 將拒絕任何 root 登入嘗試。然而,這可以透過/etc/ssh/sshd_config在伺服器端進行修改來允許。

確保此行設定為 yes 並註解掉 no:

PermitRootLogin yes

然後重新載入你的 sshd。

然而,上述設定並不是一個好的安全實踐。而是使用 pubkey 登入。

配置行應該是:

PermitRootLogin without-password

  1. 在來源計算機上產生密鑰,按照嚮導操作:
    ssh-keygen -t rsa

  2. 上面的命令將創建.ssh/id_rsa.pub.ssh/id_rsa包含公鑰和私鑰對。您需要將.ssh/id_rsa.pub內容複製到目標計算機中/root/.ssh/authorized_keys。如果目錄和文件不存在,則建立該目錄和文件,並確保authorized_keys的所有權是600

  3. 現在嘗試 scp 嘗試,它會要求您輸入在步驟 1 中輸入的密碼。

答案2

假設您具有無密碼 sudo 存取權限,則以下操作應該有效:

$ echo "My test file" > test 
$ scp test [email protected]:/tmp/
test
$ ssh [email protected] "sudo mv /tmp/test /"
$ ssh [email protected] "cat /test"
My test file
  1. 建立一個測試文件。
  2. 將檔案複製到暫存目錄。
  3. 將檔案移動到根目錄。
  4. 測試該檔案位於根目錄中。

相關內容