使用明文远程 sudo 到 root,然后运行命令

key*_*olo 0 linux bash ssh shell-script

想要使用明文密码 ssh 到同一子网中的其他客户端服务器,然后 sudo 到 root 以关闭命令并重新启动。我故意不添加 ssh 密钥。我试过了

ssh -tt [username]@[host] "sudo su -; service snmpd stop; reboot ";
Run Code Online (Sandbox Code Playgroud)

我如何在登录时传递用户名和 sudo 的密码?

Dea*_*rip 5

注意:此处提供的答案应该有效。但是,违反了最佳实践。该答案还假设该sshpass命令在将启动命令的主机上可用。用户注意到它将被使用一次,然后被删除。

sshpass -pPASSWORD ssh -tt [username]@[host] 'echo PASSWORD | sudo -S -s /bin/bash -c "service snmpd stop; reboot"'
Run Code Online (Sandbox Code Playgroud)

至少,用户应该使用密钥交换进行 ssh 登录,并允许用户在没有密码的情况下通过 sudo 执行所需的命令。