Commande scp (copie de fichiers sur serveur)

Demande d'aide : c'est ici.
Répondre
ncsioerncv
Messages : 1
Inscription : 11 mai 2025, 00:57
Status : Hors-ligne

Bonjour.
et merci d'avance.

Voici :
J'ai un serveur local sous Debian 12. Mon poste de travaille est aussi sous Debian 12.
Je communique du poste de travaille avec le serveur en SSH (j'ai installé et configurer openssh-client et openssh-server).
J'ai un fichier ~/.ssh/config , ainsi qu'une clé publique et privée pour cette connexion.
Je transfert des fichier avec la commande scp du poste de travaille vers le serveur.
Bon jusque là rien de particulier, ça fonctionne.
J'ai juste pas encore placé sur no l'option PasswordAuthentification du fichier serveur /etc/ssh/sshd_config , ce qui me permet d'utiliser soit la clé public soit le mot de passe de mon super-utilisateur (coté serveur).
et ma commande scp est :

Code : Tout sélectionner

scp -P xxxx ~/path/to/file-client toto@192.168.xxx.xxx:/path/to/file-server
Voilà, j'ai là, deux question sur cette commande :
1) Si mon /path/to/file-server se situe dans la partie système de mon serveur, faut-il utiliser sudo pour ma ligne scp (ex: $ sudo scp -P xxxx ...). J'entend par la partie système comme étant la partie root / racine / ou en tout cas pas mon Home et ou il est d'usage d'être en mode super-utilisateur pour appliquer des changements.

2) Si dans mon fichier /etc/ssh/sshd_config je met la valeur actuellement sur yes à no pour l'option PasswordAuthentification , j'aurais comme seul possibilité d'utilisé mes clé d'authentification pour me connecté (l'option de connexion pour l'utilisateur root étant déjà banni via se même fichier coté serveur). Quel serrait la ligne de commande de ce faite pour la commande scp ?

Ici les commandes essayée, leurs résultats et deux trois 'comments' en plus :

Code : Tout sélectionner

## /path/to/file-server est dans la partie racine (root) de mon serveur

$ sudo scp -P xxxx -i /path/to/key.pub /path/to/file-client /path/to/file-server
[sudo] Mot de passe de toto : 
cp: impossible de créer le fichier standard '/path/to/file-server': Aucun fichier ou dossier de ce type
## Le dossier et le fichier sur le serveur existe, cela étant dit

## Et j'ai essayer aussi :
$ sudo scp -P xxxx -i /path/to/key.pub /path/to/fichier-client toto@192.168.xxx.xxx:/path/to/file-server
[sudo] Mot de passe de toto :
Enter passphrase for key '/home/toto/.ssh/key': 
scp: dest open "/path/to/file-server": Permission denied
scp: failed to upload file /path/to/file-client to /path/to/file-server
--

Voilà
Merci !
à plus tard !!

Me :006:
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5896
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Bonjour,
sur le serveur, les fichiers doivent étre accessibles par l'utilisateur connecté (lecture ou écriture suivant le besoin). en dehors de /home, la plupart des fichiers ne sont pas autorisés pour les utilisateurs non root .
Pour utiliser un utilisateur différent entre le client et le serveur, il faut modifier le chemin du fichier destination: scp someuser@host1:/home/foo/bar
Dans ta commande, tu utilises sudo coté client, cela n'a aucun impact coté serveur.
par défaut, ssh n'autorise pas à se connecter via l'utilisateur root du serveur (ssh root@.....). Il faut l'autoriser dans le fichier config su serveur. Et je ne connais pas de solution pour faire la même chose avec scp.
Tu peux essayer de mettre root dans le chemin du fichier (après avoir autorisé root dans ssh), mais je pense que ça ne fonctionnera pas.
autoriser root via ssh réduit le niveau de sécurité, à faire en tout connaissance de cause). Tout comme l'utilisation de sudo, qui doit se limiter à des actions ciblées (ne pas utiliser sudo pour donner tous les droits sur tout à un simple utilisateur comme on le voit trop souvent conseillé sur internet).
.
Avatar de l’utilisateur
diesel
Membre
Membre
Messages : 273
Inscription : 29 oct. 2022, 22:43
Status : Hors-ligne

Pour faire ça, je copie le fichier dans mon home/$USER sur le serveur, puis je me connecte en ssh sur le serveur et je déplace le fichier où je veux, éventuellement avec un su.

Amicalement.

Jean-Marie
Répondre