Error when using scp command "bash: scp: command not found"
ScpOpensshRhelScp Problem Overview
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 git@123.150.207.18:
git@123.150.207.18'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...^_^
Scp Solutions
Solution 1 - Scp
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 :)
Solution 2 - Scp
Issue is with remote server, can you login to the remote server and check if "scp" works
probable causes:
- scp is not in path
- openssh client not installed correctly
for more details http://www.linuxquestions.org/questions/linux-newbie-8/bash-scp-command-not-found-920513/
Solution 3 - Scp
Check if scp
is installed or not on from where you want want to copy
check using which scp
If it's already installed, it will print you a path like /usr/bin/scp
Else, install scp using:
yum -y install openssh-clients
Then copy command
scp -r root@192.168.1.1:/var/www/html/database_backup/restore_fullbackup/backup_20140308-023002.sql /var/www/html/db_bkp/