Utiliser une session SSH pour transférer un fichier

Tags: #<Tag:0x00007fede1e5f318>

bonjour,

je recherche une astuce pour le cas suivant:

J’ai une machine A sous Debian, une machine B sous Debian aussi.
Je suis connecté sur la machine A via un client mRemoteNG ou Bitwise, Putty etc, peu importe.
De la machine A j’ouvre une session ssh sur la machine B via ssh user@machineB
Dans cette session je fait une promotion vers root via su -
J’ouvre une autre session ssh vers lma machine A.
je me trouve donc dans la situation suivante:

session user sur A -> SSH -> B (session Root)
Client -> SSH user -> machine A

est il possible d’utiliser la session SSh existante entre A et B (meme user sur A, à partir de la deuxière session user sur A pour envoyer un fichier:

Session user A -> SSH A to B -> session root B

Je reprécise que la session user utilisée pour faire le ssh vers B est le meme utilisateur que la session ouverte ensuite poru transferer un fichier.

je ne peux pas utiliser scp car je veux que le fichier soit envoyé vers l’utilisateur root de B.

mais il n’est pas possible d’ouvrir une session Root à distance ni sur B ni sur A.

C’est pour éviter d’avoir à transferer le fichier de user A vers user B puis ensuite copier de user B vers Root B

Ceci afin d’avoir une unique manip

merci d’avance.

Bonjour

peut etre netcat ?

http://www.lestutosdenico.com/tutos-de-nico/netcat

1 J'aime

Le terme utilisé session n’est pas le bon. OK, je pinaille :slight_smile:

Mais si, c’est possible. Voir plus loin.

Si vous vous donniez la peine de préciser exactement les chemins absolus du fichier source et sur A et du répertoire destination sur B on y verrait beaucoup plus clair

ls -ls /chemin/vers/fsrc
ls -ld /repertoire/destination

Vous pouvez aussi utiliser la commande stat

Une piste de solution possible.
Sur la machine A, vérifiez qu’il y a un agent

ssh-add -l

Si erreur, créez une instance de shell avec un agent et chargez les clés

ssh-agent bash
ssh-add

Copiez vos clés publique vers la machine B, sur /tmp

scp ~/.ssh/id_rsa.pub machineB:/tmp/authorized_keys

La suite consiste à configurer le compte root sur B

ssh B
su -
# forcer la création éventuelle du répertoire `.ssh` sur `/root` qui est le répertoire personnel de `root`
ssh user@A id
cd /root
ls -ld .ssh
cd .ssh
# mettre le fichier clé publique au bon endoit
mv /tmp/authorized_keys /root/.ssh/authorized_keys
# Adaptez le propriétaire
chown root:root /root/.ssh/authorized_keys
# fermez la session `root`
exit
# se déconnecter de B
exit
# vous vous retrouver sur A (utilisateur ordinaire, clé RSA chargée )
ssh root@B id
# normalement l'agent devrait répondre à votre place et vous n'avez pas à donner de mot de passe ni de phrase de passe.
# si OK copiez avec scp
scp  /chemin/vers/fsrc  root@B:/repertoire/destination/fsrc

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac

@littlejohn75
Du grand art! Je note ça dans mes tablettes, ça peux servir
Merci.

Pourquoi est-ce que tu n’utilise pas Filezilla en sftp ?

désolé pour la réponse tardive.

C’est simple, je suis sur des erveurs qui n’ont pas d’interface graphique, donc pour filezilla c’est un peut impossible en fait.
Enfin,le cas échéant, la méthode peut être scriptée, d’où aussi l’avantage.

OK. De toutes façons, programmes graphiques et utilisateur root c’est incompatible. Ce n’est pas impossible mais déconseillé.

Cette méthode à base de scp convient-elle ?

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)