gpt4 book ai didi

python - Paramiko 更改远程机器的 IP

转载 作者:行者123 更新时间:2023-12-01 06:00:05 29 4
gpt4 key购买 nike

我必须更改运行 Gentoo 的远程计算机的 IP。为此,我使用如下代码

try:
guest.connect("10.22.254.200", username='root',password='root')
except SSHException as detail:
session.flash = detail.message
else:
sftp = guest.open_sftp()
sftp.put('./scripts/change-ip', '/root/change-ip')
sftp.close()
guest.exec_command('chmod +x /root/change-ip')
time.sleep(5)
try:
stdin,stdout,stderr = guest.exec_command('/root/change-ip 10.22.254.200 &')

我的更改 IP 脚本如下所示

set -x
cp /etc/conf.d/net /etc/conf.d/net.bak
sed "s/10.22.254.200/$1/g" /etc/conf.d/net.bak > /etc/conf.d/net
/etc/init.d/net.eth0 restart

我可以直接 ssh 并成功执行脚本来更改 IP,但由于某种原因无法在代码中执行此操作。

任何帮助将不胜感激

最佳答案

通过网络重启网络是一件危险的事情。这里发生的情况是,在命令 /etc/init.d/net.eth0 restart 中停止网络接口(interface)后,脚本收到一个 HANGUP 信号,表明连接已被终止。已关闭,并在启动网络接口(interface)之前停止。

要避免此问题,您可以使用 nohup,它“运行不受挂起影响的命令”。

关于python - Paramiko 更改远程机器的 IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10881878/

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