2017-04-21 4 views
0

Ich habe zwei Server sagen Server A und Server B. Ich habe einen sudo Benutzer sagen Benutzer1 mit vollen Berechtigungen auf Server A und B. Ich versuche, den Crontab-Eintrag von Root anhängen Server A zu Server B mit dem folgenden Befehl. Aber es hängt an A an. Ich muss es an Server B anhängen.Anfügen Crontab mit SSH und Sudo ohne Root-Anmeldeinformationen

Finden Sie den Befehl, unter dem ich auf Server A bin, der zu Server B loggen und crontab Eintrag von B anhängen sollte. Stattdessen hängt es nur an A an .

/usr/bin/sshpass -p 'password' /usr/bin/ssh -o StrictHostKeyChecking=no -l user1 \ 
10.10.10.10 -t 'echo password' | sudo -S bash -c 'echo "30 10 * * * sh test.sh" >> /var/spool/cron/root' 

freundlicher

helfen

Antwort

0

Setzen Sie den gesamten Befehl, den Sie remote in Anführungszeichen ausführen möchten, verschachtelte Anführungszeichen zu entkommen - andernfalls werden Rohrleitungen lokal interpretiert werden.

/usr/bin/sshpass -p 'password' ssh -o StrictHostKeyChecking=no -l user1 10.10.10.10 \ 
-t "echo password | sudo -S bash -c 'echo \"30 10 * * * sh test.sh\" >> /var/spool/cron/root'" 
+0

könnten Sie bitte den geänderten Befehl – gosatriani

+0

Beantwortete die Antwort. –

+0

Hi landa, wenn der obige Befehl ausgeführt wird, erhalte ich den folgenden Fehler bash: echo password: Befehl nicht gefunden – gosatriani