GNU/Linux >> Tutoriels Linux >  >> Linux

Ssh, Sudo, puis télécharger ?

J'ai un serveur A, il y a trois utilisateurs dessus. J'ai besoin de télécharger les 70 Go de contenu d'un dossier sur le serveur B. Le serveur ne dispose que de 90 Go d'espace, donc la compression, puis le transfert ne sont pas une option. D'après mon expérience rsync est extrêmement lent 10 fois plus lent que les autres méthodes.

J'ai toujours utilisé

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

Cette commande est incroyable car elle ouvre un tuyau et télécharge directement tout ce que vous voulez, à une vitesse maximale. Il ne ralentit pas à partir de petits fichiers comme le fait rsync. Je l'ai utilisé pour transférer des choses rapidement et c'est tellement rapide que le téléchargement à 100 Mbps est le goulot d'étranglement.

Quoi qu'il en soit, mais le serveur A a un utilisateur auquel je me connecte, il a aussi sudo -i, et enfin il y a aussi minecraft, les fichiers utilisateur sont en fait sous. L'utilisateur n'est pas un utilisateur réel, c'est juste l'espace réservé pour les fichiers à des fins de sécurité. Je ne peux pas me connecter à cet utilisateur.

Donc, ce que je dois faire, c'est ssh du serveur B au serveur A, avec une commande sudo dans root, fournir le mot de passe root, puis effectuer mon habituel

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

S'il vous plaît, aidez-moi, les assistants informatiques tout-puissants.

Réponse acceptée :

Vous pouvez utiliser le sudo dans votre commande ssh. Pour l'invite de mot de passe sudo, vous pouvez transmettre le mot de passe en texte brut en utilisant le -S commutateur :

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

Une autre méthode, que je n'élabore pas beaucoup, consiste à utiliser expect . Vous pouvez aussi vous renseigner.


Linux
  1. SSHPass :comment se connecter en SSH à un serveur à l'aide d'un script sans mot de passe (de manière non interactive)

  2. Ssh - Script Shell pour se connecter à un serveur Ssh ?

  3. Ssh pour déchiffrer Lvm chiffré lors du démarrage du serveur sans tête ?

  4. Ssh dans un serveur connecté à un service VPN ?

  5. Comment Ssh vers un serveur en utilisant un autre serveur ? ?

Téléchargement du serveur Ubuntu

Comment installer le serveur SSH sur Ubuntu 22.04

Tunnellisation et proxy SSH

Serveur SSH

Comment se connecter en SSH à un conteneur Docker

Comment se connecter en SSH à votre serveur Linux à partir de Windows