正确的方式来通过SSH SSH
我有一个脚本,使用sudo在远程服务器上通过SSH运行另一个脚本。 但是,当我input密码时,它显示在terminal上。 (否则它工作正常)
ssh user@server "sudo script"
什么是正确的方法来做到这一点,所以我可以通过SSHinputsudo的密码,而无需input密码?
另一种方法是使用-t
开关到ssh
:
ssh -t user@server "sudo script"
请参阅http://linuxcommand.org/man_pages/ssh1.html :
-t Force pseudo-tty allocation. This can be used to execute arbi- trary screen-based programs on a remote machine, which can be very useful, eg, when implementing menu services. Multiple -t options force tty allocation, even if ssh has no local tty.
目标机器上configuration中的NOPASS
是解决scheme。 继续阅读http://maestric.com/doc/unix/ubuntu_sudo_without_password
最好的方法是ssh -t user@server "sudo <scriptname>"
,例如ssh -t user@server "sudo reboot"
。 它会提示input用户名,然后是root用户的密码(因为我们正在运行具有root权限的脚本或命令。
我希望这有助于消除你的疑虑。
根据您的使用情况,我取得了以下成绩:
ssh root@server "script"
这将提示inputroot密码,然后正确执行命令。