Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/07/2014, à 10:15

tanebisse

[Résolu]copier un fichier via la commande sftp en une ligne

Bonjour,
J'ai sécurisé l'accès à mon serveur via CHROOT Directory d'OpenSSh.
Je ne peux donc accéder à mon dossier qu'avec SFTP.
Je peux me connecter sans problème en faisant :

 sftp -P 2222 toto@10.1.0.180

Ensuite j'ai la console sftp qui me permet de copier un fichier local vers le serveur distant :

sftp> put testsftp.txt /upload/testsftp.txt

J'aimerai pouvoir effectuer cette copie en une ligne sans passer par la console sftp. Est-ce possible ?
Le but étant d'écrire un script qui lance automatiquement cette copie. Mais comment faire vu qu'à l'heure actuelle il faut que je passe par la console sftp ?

Dernière modification par tanebisse (Le 03/07/2014, à 08:35)

Hors ligne

#2 Le 02/07/2014, à 10:42

pires57

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Salut, tu peut copier directement avec scp

Dernière modification par pires57 (Le 02/07/2014, à 10:42)


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#3 Le 02/07/2014, à 10:56

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Justement non je ne peux pas avec SCP car la connexion SSH est interdite à cause ma directive CHROOT Directory d'OpenSSH dans /etc/ssh/sshd_config

Subsystem sftp internal-sftp -f AUTH -l VERBOSE

Match Group utilisateurs
        ChrootDirectory /var/www/fichierscsv/%u
        ForceCommand internal-sftp
        AllowTcpForwarding no
        GatewayPorts no
        X11Forwarding no

Si jamais ce n'est pas possible. Comment puis-je modifier les paramètres ci-dessus pour autoriser une connexion SSH ?

Dernière modification par tanebisse (Le 02/07/2014, à 11:21)

Hors ligne

#4 Le 02/07/2014, à 11:25

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Salut,

Tu peux donner directement les instructions sur stdin :

echo "put testsftp.txt /upload/testsftp.txt" | sftp -P 2222 toto@10.1.0.180

Sinon, tu peux donner un "batchfile" à sftp avec l'option -b, les commandes sont à mettre dans ce batchfile.

Bien sûr, tout ça je ne le savais pas il y a 3 minutes, j'ai juste lu la manpage de sftp...

Hors ligne

#5 Le 02/07/2014, à 13:12

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

OK merci j'ai bien regardé avec man mais je ne connaissais pas la commande echo .
Je n'ai pas trouvé dans le man comment passer le mot de passe en paramètre.
As-tu une idée ?

Hors ligne

#6 Le 02/07/2014, à 13:23

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Il ne faut JAMAIS passer le mot de passe en paramètre.
Crée une clé SSH sans phrase de passe, pour une authentification en SSH sans mot de passe.

Hors ligne

#7 Le 02/07/2014, à 13:37

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Je ne vois pas bien la différence entre passer le mot de passe en paramètre ou autoriser un accès SANS mot de passe ?

Hors ligne

#8 Le 02/07/2014, à 13:41

pires57

Re : [Résolu]copier un fichier via la commande sftp en une ligne

l'accès sera sécurisé par la clé, tu n'auras donc pas besoin de password, si tu n'as pas la clé, tu ne passe pas.


Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn

Hors ligne

#9 Le 02/07/2014, à 13:46

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

C'est pas faux !

Hors ligne

#10 Le 02/07/2014, à 14:42

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

(et la clé est asymétrique, c'est-à-dire que tu mets la partie publique sur le serveur et la partie privée ne bouge pas du client. il est nécessaire d'être en possession de la clé privée pour entrée, donc tant que quelqu'un n'aura pas piraté le client en question, il ne pourra pas se connecter au serveur par ce moyen.

Hors ligne

#11 Le 02/07/2014, à 15:25

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Comme j'ai pas accès en SSH le problème c'est que je ne peux pas faire de sudo ssh-copy-id car pour confirmer on me demande d'entrer le mot de passe et j'ai un refus du fait que seul la connexion sftp est possible.
Du coup j'ai tenté ça

echo "put id_rsa_nopass.pub /.ssh/authorized_keys" | sftp -P 2222 toto@10.1.0.180 

Mais il me redemande quand même le mot de passe quand je tente de me connecter en sftp.

Hors ligne

#12 Le 02/07/2014, à 15:33

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Ce sont peut-être les droits du fichier "authorized_keys" qui posent problème. Ça doit être "rw" pour le proprio et rien pour les autres, donc en numérique ça donne 600
=>

chmod 600 .ssh/authorized_keys

Ou alors SSH n'autorise pas la connexion par clé.
Mais si j'ai bien compris, tu as la main sur le serveur, tu peux alors regarder si le fichier est bon directement sans passer par sftp...


Il y a peut-être aussi une astuce par rapport à l'emplacement de ce fichier, vu que tu chroot la connexion...

Dernière modification par tiramiseb (Le 02/07/2014, à 15:34)

Hors ligne

#13 Le 02/07/2014, à 15:56

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

En fait j'ai été obligé de créer moi même le repertoire .ssh dans le HOME de mon user chrooté. Ce qui me semblait pas top mais j'ai pas trouvé d'autres solutions.
Mon fichier authorized_keys a bien les droits 600 et le propriétaire est "toto" et le groupe "utilisateurs".

Hors ligne

#14 Le 02/07/2014, à 15:59

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Et comme ça, ça ne marche pas ?

Ta clé SSH est à l'emplacement standard sur le client (.ssh/id_rsa) ?

Tu peux exécuter sftp en verbose (-vvv), tu peux aussi regarder les logs du serveur, notamment auth.log...

Hors ligne

#15 Le 02/07/2014, à 16:09

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Question : Est que sur le client il faut que je sois connecté avec un user toto ?

Hors ligne

#16 Le 02/07/2014, à 16:41

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Le nom de l'utilisateur sur le client n'a aucune importance.
Il faut que la clé SSH (partie publique) de l'utilisateur du client soit dans .ssh/authorized_keys sur le serveur.

Hors ligne

#17 Le 02/07/2014, à 16:42

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

As-tu essayé sftp avec l'option -vvv ?

Hors ligne

#18 Le 03/07/2014, à 08:34

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Bon enfin j'y suis arrivé. Le problème venait du nom de ma clé que j'avais appelé "id_rsa_nopass" au lieu de "id_rsa" tout court.
Merci beaucoup pour ton aide.

Hors ligne

#19 Le 03/07/2014, à 08:39

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Pourtant c'est une question que je t'avais posé hier après-midi en #14...

Si tu veux utiliser une clé qui n'est pas à l'emplacement standard, il faut utiliser l'argument "-i" de sftp.

Hors ligne

#20 Le 03/07/2014, à 09:20

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

L'emplacement (le dossier) était standard c'est le nom qui ne l'était pas comme indiqué en #11
Par contre le coup du -i ça aurait tout aussi bien marché je n'avais pas saisi la notion d'identity file dans le man de sftp.

Dernière modification par tanebisse (Le 03/07/2014, à 09:21)

Hors ligne

#21 Le 03/07/2014, à 09:22

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Ah oui tiens, j'avais pas vu le nom en #11.
Menfin en #14 j'ai bien donné le nom complet du fichier tongue

Hors ligne

#22 Le 03/07/2014, à 16:09

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Je n'arrive plus à me connecter via Eclipse subclipse à mon serveur svn sur le repository svn://10.1.0.180/monappli !
Sais-tu quel protocole utilise svn et s'il y a un rapport avec ma config.

Hors ligne

#23 Le 03/07/2014, à 20:20

tiramiseb

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Sais-tu quel protocole utilise svn

svn.

s'il y a un rapport avec ma config

Je vois pas...

Le serveur svn est-il bien en fonctionnement sur ton serveur ?

Hors ligne

#24 Le 04/07/2014, à 07:44

tanebisse

Re : [Résolu]copier un fichier via la commande sftp en une ligne

Tiramiseb a écrit :

Le serveur svn est-il bien en fonctionnement sur ton serveur ?

Bah non !
OK je sors !
J'avais oublié de reconfigurer le lancement de SVN au démarrage de la machine !

Hors ligne