gpt4 book ai didi

python - 通过 SSH 连接到远程计算机并使用 Python 以 root 用户身份编辑文件

转载 作者:行者123 更新时间:2023-12-01 02:12:47 26 4
gpt4 key购买 nike

我正在编写一个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 用户并编辑文件。?

最佳答案

首先,使用paramiko的ssh.connect建立连接,然后

   import paramiko
ssh = paramiko.SSHClient()
ssh.connect("hostname", username = "username", password = "password")
cmd = "echo {} | sudo -S {}".format("password", "touch /opt/giri")
ssh.exec_command(cmd)

登录用户是具有sudo权限的普通用户。因此,首先脚本以“普通用户”身份登录,然后使用 sudo 权限执行命令。

sudo 命令的 -S 选项使 sudo 从 stdinread 获取其内容 来自标准输入的密码而不是使用 终端设备。

关于python - 通过 SSH 连接到远程计算机并使用 Python 以 root 用户身份编辑文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48610812/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com