【发布时间】:2018-02-04 17:09:56
【问题描述】:
我正在编写一个 Python 脚本,该脚本可以通过 SSH 连接到多个远程 CentOS 机器,并将“/etc/sysconfig/network-scripts/ifcfg-eth1”中的“ONBOOT”值从“yes”更改为“no”。 我可以使用 Paramiko 和我的用户凭据通过 SSH 连接到远程机器。 为了编辑“/etc/sysconfig/network-scripts/ifcfg-eth1”文件,我必须成为 sudo 用户,然后只有我可以编辑该文件。 我的脚本面临的问题是我无法以 root 用户身份直接登录 CentOS。我应该首先使用我的用户凭据登录,然后使用“sudo -s”和密码更改为 root。 有没有办法使用我的用户凭据 ssh 进入远程计算机并更改为 root 用户并编辑文件。?
【问题讨论】:
-
你为什么不能在远程机器上给自己root权限?或者将您的 ssh 密钥添加到 root 的授权密钥中?
-
不要重复之前的评论,但您应该修复它,以便您可以在需要时以 root 身份登录。如果您所做的只是一行一行地编辑,那么 bash 脚本可能会更简单。如果您最终打算做更复杂的事情,请警惕重新发明*。有许多配置管理工具(Salt、Ansible、Chef 等)运行良好。
-
这篇文章正是我几周来一直在寻找的。span>