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 &')
私のchange-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を正常に変更することはできますが、何らかの理由でコードで実行できません。
どんな助けでも大歓迎です