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 的密码?
注意:此处提供的答案应该有效。但是,违反了最佳实践。该答案还假设该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 执行所需的命令。