Error when using scp command "bash: scp: command not found"

Rivers Yang picture Rivers Yang · Jun 16, 2013 · Viewed 114.8k times · Source

I want to use scp command to copy a local file to remote server, but I get an error message after input the password of user in remote server.

~]$ scp gitadmin.pub [email protected]:
[email protected]'s password: 
bash: scp: command not found
lost connection

I checked on server using the git user and it seems the scp command can be found and openssh-clinets were installed too.

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.

I'm confused for the situation. Did I missing some configuration on server? (We are using RHEL6 as server.)


It's my fault in path setting. I added 'custom.sh' in /etc/profile.d and added following lines in it to add /usr/local/node/bin directory to PATH.

export PATH="/usr/local/node/bin:$PATH" 

But the format is wrong. I removed the pair of '"' and it works OK now. It should be:

export PATH=$PATH:/usr/local/node/bin

A probe mistake...^_^

Answer

lzap picture lzap · Nov 27, 2013

Make sure the scp command is available on both sides - both on the client and on the server.

If this is Fedora or Red Hat Enterprise Linux and clones (CentOS), make sure this package is installed:

    yum -y install openssh-clients

If you work with Debian or Ubuntu and clones, install this package:

    apt-get install openssh-client

Again, you need to do this both on the server and the client, otherwise you can encounter "weird" error messages on your client: scp: command not found or similar although you have it locally. This already confused thousands of people, I guess :)