GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ssh, Sudo, dann herunterladen?

Ich habe einen Server A, er hat drei Benutzer darauf. Ich muss die 70 GB Inhalt eines Ordners auf Server B herunterladen. Der Server hat nur 90 GB Speicherplatz, also ist Komprimieren und anschließendes Übertragen keine Option. Meiner Erfahrung nach rsync ist extrem langsam 10x langsamer als andere Methoden.

Ich habe immer verwendet

ssh [email protected] "tar zc -C /home/minecraft/multicraft/servers/server2 ." | tar zx

Dieser Befehl ist erstaunlich, weil er eine Pipe öffnet und alles, was Sie wollen, mit maximaler Geschwindigkeit direkt herunterlädt. Es wird nicht durch winzige Dateien verlangsamt, wie dies bei rsync der Fall ist. Ich habe dies verwendet, um Dinge schnell zu übertragen, und es ist so schnell, dass der Upload mit 100 Mbit / s der Engpass ist.

Wie auch immer, aber Server A hat einen Benutzer, bei dem ich mich anmelde, er hat auch sudo -i, und schließlich gibt es auch Minecraft, unter dem sich die Benutzerdateien befinden. Der Benutzer ist kein tatsächlicher Benutzer, sondern nur der Platzhalter für die Dateien aus Sicherheitsgründen. Ich kann mich bei diesem Benutzer nicht anmelden.

Was ich also tun muss, ist, ssh von Server B zu Server A, mit einem Befehl sudo in root, geben Sie das Root-Passwort ein und führen Sie dann mein übliches

aus

ssh [email protected] "tar zc -C /home/minecraft/multicraft/servers/server2 ." | tar zx

Bitte helfen Sie mir, allmächtige Computer-Assistenten.

Akzeptierte Antwort:

Sie können das sudo verwenden in Ihrem ssh-Befehl. Für die sudo-Passwortabfrage können Sie das Passwort im Klartext mit -S übergeben Schalter:

ssh [email protected] "echo mypassword | sudo -S tar zc -C /home/minecraft/multicraft/servers/server2 ." | tar zx

Eine andere Methode, auf die ich nicht viel näher eingehe, ist die Verwendung von expect . Sie können sich das auch ansehen.


Linux
  1. SSHPass:SSH-Zugang zu einem Server mit einem Skript ohne Passwort (nicht interaktiv)

  2. Ssh – Shell-Skript zum Einloggen in einen SSH-Server?

  3. Ssh zum Entschlüsseln von verschlüsseltem LVM während des kopflosen Serverstarts?

  4. SSH-Verbindung zum Google Cloud-Server nach dem Neustart nicht möglich?

  5. Wie starte ich in Bash, wenn ich in meinen Server ssh'e?

Ubuntu-Server herunterladen

So installieren Sie den SSH-Server unter Ubuntu 22.04

SSH-Tunneling und Proxying

SSH-Server

So führen Sie SSH in einen Docker-Container ein

Wie Sie von Windows aus SSH in Ihren Linux-Server einbinden