GNU/Linux >> Znalost Linux >  >> Linux

Ssh, Sudo, pak stáhnout?

Mám server A, má na něm tři uživatele. Potřebuji stáhnout 70 giga obsahu složky na server B. Server má pouze 90 giga místa, takže komprimovat a poté přenést není možné. Podle mých zkušeností rsync je extrémně pomalý 10x pomalejší než jiné metody.

Vždy jsem používal

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

Tento příkaz je úžasný, protože otevírá kanál a přímo stahuje vše, co chcete, maximální rychlostí. Nezpomaluje se z malých souborů jako rsync. Použil jsem to k rychlému přenosu věcí a je to tak rychlé, že nahrávání 100 Mb/s je překážkou.

Každopádně ale server A má uživatele, ke kterému se přihlásím, má také sudo -i a nakonec je tu také minecraft, soubory uživatelů jsou ve skutečnosti pod. Uživatel není skutečný uživatel, je to pouze zástupný symbol pro soubory z bezpečnostních důvodů. Nemohu se přihlásit k tomuto uživateli.

Takže to, co musím udělat, je, ssh ze serveru B na server A, jedním příkazem sudo do root, poskytnout root heslo a pak provést můj obvyklý

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

Prosím, pomozte mi, všemohoucí počítačoví mágové.

Přijatá odpověď:

Můžete použít sudo uvnitř vašeho příkazu ssh. Pro výzvu k zadání hesla sudo můžete heslo předat jako prostý text pomocí -S přepínač:

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

Další metodou, kterou nebudu moc rozvádět, je použití expect . Můžete se na to také podívat.


Linux
  1. SSHPass:Jak SSH na server pomocí skriptu bez hesla (neinteraktivně)

  2. Ssh – Shell skript pro přihlášení na Ssh server?

  3. Ssh k dešifrování šifrovaného LVM během bezhlavého spouštění serveru?

  1. Nedaří se vám po restartu SSH do Google Cloud Serveru?

  2. Jak SSH na server pomocí jiného serveru?

  3. Ssh – Každopádně začlenit Sudo do Ssh Proxycommand?

  1. Odstraňování problémů s SSH

  2. Jak začnu v bash, když ssh'dám na můj server?

  3. sudo -i vrací chybu