如何将文件 scp 到远程服务器的根目录并运行 sudo 命令?

如何将文件 scp 到远程服务器的根目录并运行 sudo 命令?

注意:服务器不共享相同的密码,但我将首先设置无密码登录。

这是用例,我需要在我的中逐步完成以下步骤deploy.sh

  1. 将文件 scp 到远程服务器的/opt/bin目录,这需要 root 权限
  2. 之后,ssh 进入远程服务器并运行sudo install.sh,这也需要 root 权限
  3. 服务器不允许以 root 身份登录

我注意到有方法[1]可以ssh运行sudo命令,但是它似乎不起作用scp

这确实让我很困扰...

[1]https://stackoverflow.com/questions/10310299/proper-way-to-sudo-over-ssh

顺便说一句:我认为其中一种可能的方法是将文件 scp 到普通目录,然后通过 ssh 运行sudo mv * /opt/bin; sudo install.sh

答案1

把山带给先知?

ssh user@remote "sudo scp -r user@local:/path/to/files /opt/bin"

这似乎是一项很大的特权,但却几乎看不到密码,这让我很紧张。

相关内容