#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...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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)
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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 ?
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
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 ?
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#24 Le 04/07/2014, à 07:44
- tanebisse
Re : [Résolu]copier un fichier via la commande sftp en une ligne
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