私は、特定の行の最後に文字列を追加し、ホスト上の1つのライナーを実行すると動作します。例えば、私は完全に「AllowUsersという」pythonスクリプト内のperl one liner
perl -pi.bak -e 's/^(AllowUsers.*)/\1 boy857sr xxxxxxx/g;' /etc/ssh/sshd_config
作品で始まる行の末尾に「boy857srのXXXXXXX」を追加していますよ!
AllowUsers boy857bt soladmin svc-Orion_SAM solarw boy857lj boy806nk boy806sk boy857sr xxxxxxx
しかし、私はPythonスクリプト内でそれを実行すると、それはAllowUsersという '行を一掃し、以下に見える、別の行を追加します。ここでは
#RSAAuthentication yes
^A kn857sr xxxxxxx
はPythonスクリプトです。
import pxssh
my_list=[
"server121"
]
for i in my_list:
s = pxssh.pxssh(timeout=15, maxread=2000000)
s.SSH_OPTS += "-o StrictHostKeyChecking=no"
s.SSH_OPTS += "-o UserKnownHostsFile=/dev/null"
s.login(i,'username','password')
print (i)
s.sendline('/usr/local/bin/sudo su -')
s.expect('Password: ')
s.sendline('xxxxxxx')
s.prompt()
print s.before
s.sendline('perl -pi.bak -e \'s/^(AllowUsers.*)/\1 boy857sr xxxxxxx/g;\'
/etc/ssh/sshd_config')
s.prompt()
print s.before
s.sendline('exit')
s.logout()
実際、私はなぜ_your_投稿がもう少しupvotedされていないのだろうかと思っています。明確な問題声明**と**素敵な[mcve]のある数少ない質問の1つです!私はそれらの多くがあったことを望む。 – PerlDuck