以 root 用户身份执行远程 ssh 命令,并在命令行中提供 su 密码

以 root 用户身份执行远程 ssh 命令,并在命令行中提供 su 密码

我想通过 SSH 以 root 用户身份执行命令。我尝试使用 -p 标志提供 root 密码,但没有成功。

> ssh -i ~/.ssh/sshserverprivatekey normaluser@IP sudo -p 'ROOTPASSWORD'
> grep ShardID latest/validator*.log

答案1

您需要添加您的公钥/root/.ssh/authorized_keys并以 root 身份通过 SSH 登录并运行以下命令:

ssh root@server whoami

whoami任何命令可能位于何处。

答案2

sudo不支持在命令行上传递密码,因此这是不可能的。您可以执行

ssh [...] sudo [command]

并在提示符下输入您的密码。但是,使用默认的 SSH 设置,您的密码将在您输入时以明文形式显示在终端上。为了避免这种情况,请将标志添加-t到您的ssh命令或添加RequestTTY yes到您的~/.ssh/config文件中(如果文件尚不存在,请创建该文件)。

相关内容