我在 Ubuntu 机器上创建了一个 python 应用程序,它可以向终端运行命令。我希望程序开始时继续以 root 身份运行。我知道要获取 root 终端,我们使用以下命令:
sudo -i
然后 shell 要求我们输入密码,当我们这样做时,我们就有了这个终端季节的根,直到我们输入
exit
但是我可以通过参数设置 pass 参数吗?这样终端就不会提示“give a pass”行了?另一个问题是,当我使用实时 USB 并且想要运行sudo -i
以获取 root 权限时,我是否需要输入 pass?
答案1
只需使用权限启动命令即可sudo
:
sudo your_python_script
和绝不在参数中使用您的密码。
答案2
首先,我不知道我的选择的逻辑是否正确,但它确实有效。
rsa pub
首先使用以下命令创建一个密钥:
ssh-keygen -t rsa
然后使用以下命令将公钥复制并附加到.ssh/authorized_keys
:root
ssh-copy-id root@<your ip>
此后,当您尝试时ssh root@<your ip>
,它将不再提示输入 root 密码,并且您将能够获得 root 提示。
例如,如果您想以 root 身份run.sh
在/opt
目录中运行 shell 脚本,从您的登录名开始无需输入密码,请尝试以下操作:
ssh -X root@<your ip> "sh /opt/run.sh"
'-X' 选项用于$DISPLAY
为 root 设置。
希望这个想法有帮助。