Je souhaite utiliser la commande scp pour copier un fichier local sur un serveur distant, mais je reçois un message d'erreur après avoir saisi le mot de passe de l'utilisateur sur le serveur distant.
~]$ scp gitadmin.pub [email protected]:
[email protected]'s password:
bash: scp: command not found
lost connection
J'ai vérifié sur le serveur en utilisant l'utilisateur git et il semble que la commande scp puisse être trouvée et openssh-clinets ont également été installés.
git@... ~]$ scp
usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
[-l limit] [-o ssh_option] [-P port] [-S program]
[[user@]Host1:]file1 ... [[user@]Host2:]file2
git@... ~]$ su root
......
root@... ~]# yum info openssh-clients
Loaded plugins: product-id, subscription-manager
Updating Red Hat repositories.
Installed Packages
Name : openssh-clients
Arch : x86_64
Version : 5.3p1
Release : 52.el6
Size : 1.0 M
Repo : installed
From repo : anaconda-RedHatEnterpriseLinux-201105101844.x86_64
Summary : An open source SSH client applications
URL : http://www.openssh.com/portable.html
License : BSD
Description : OpenSSH is a free version of SSH (Secure Shell), a program for
: logging into and executing commands on a remote machine. This
: package includes the clients necessary to make encrypted
: connections to SSH servers.
Je suis confus pour la situation. Ai-je oublié une configuration sur le serveur? (Nous utilisons RHEL6 comme serveur.)
C'est ma faute dans la configuration du chemin. J'ai ajouté 'custom.sh' dans /etc/profile.d et ajouté les lignes suivantes pour ajouter le répertoire/usr/local/node/bin à PATH.
export PATH="/usr/local/node/bin:$PATH"
Mais le format est faux. J'ai enlevé la paire de '"' et ça marche maintenant. Ça devrait être:
export PATH=$PATH:/usr/local/node/bin
Une erreur de sonde ... ^ _ ^
Assurez-vous que la commande scp est disponible des deux côtés - à la fois sur le client et sur le serveur.
S'il s'agit de Fedora ou Red Hat Enterprise Linux et de clones (CentOS), assurez-vous que ce package est installé:
yum -y install openssh-clients
Si vous travaillez avec Debian ou bunt et des clones, installez ce paquet:
apt-get install openssh-client
Encore une fois, vous devez le faire à la fois sur le serveur et sur le client, sinon vous risquez de rencontrer des messages d'erreur "étranges" sur votre client: scp: command not found
ou similaire bien que vous l’ayez localement. Cela a déjà dérouté des milliers de personnes, je suppose :)
Vérifiez si scp
est installé ou non à partir de où vous voulez copier le contrôle en utilisant which scp
S'il est déjà installé, il vous imprimera un chemin tel que /usr/bin/scp
Sinon, installez scp en utilisant:
yum -y install openssh-clients
Puis copier la commande
scp -r [email protected]:/var/www/html/database_backup/restore_fullbackup/backup_20140308-023002.sql /var/www/html/db_bkp/
Le problème est avec le serveur distant, pouvez-vous vous connecter au serveur distant et vérifier si "scp" fonctionne
causes probables: - scp n'est pas dans le chemin - le client openssh n'est pas installé correctement
pour plus de détails http://www.linuxquestions.org/questions/linux-newbie-8/bash-scp-command-not-found-920513/