使用scp命令"bash:scp:command not found"时出错

Riv*_*ang 54 scp openssh rhel

我想使用scp命令将本地文件复制到远程服务器,但是在远程服务器中输入用户密码后收到错误消息.

~]$ scp gitadmin.pub git@123.150.207.18:
git@123.150.207.18's password: 
bash: scp: command not found
lost connection
Run Code Online (Sandbox Code Playgroud)

我使用git用户检查了服务器,似乎可以找到scp命令并且也安装了openssh-clinets.

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.
Run Code Online (Sandbox Code Playgroud)

我对这种情况很困惑.我在服务器上遗漏了一些配置吗?(我们使用RHEL6作为服务器.)


路径设置是我的错.我在/etc/profile.d中添加了'custom.sh',并在其中添加了以下行,以将/ usr/local/node/bin目录添加到PATH.

export PATH="/usr/local/node/bin:$PATH" 
Run Code Online (Sandbox Code Playgroud)

但格式错了.我删除了这对"",它现在运行正常.它应该是:

export PATH=$PATH:/usr/local/node/bin
Run Code Online (Sandbox Code Playgroud)

探测错误...... ^ _ ^

lza*_*zap 100

确保scp命令在客户端和服务器上都可用.

如果这是FedoraRed Hat Enterprise Linux和克隆(CentOS),请确保已安装此软件包:

    yum -y install openssh-clients
Run Code Online (Sandbox Code Playgroud)

如果您使用DebianUbuntu和克隆,请安装此软件包:

    apt-get install openssh-client
Run Code Online (Sandbox Code Playgroud)

同样,您需要在服务器和客户端上执行此操作,否则您可能会在客户端上遇到"奇怪的"错误消息:scp: command not found或者类似,尽管您在本地使用它.这已经困扰了成千上万的人,我猜:)


小智 5

问题是远程服务器,您可以登录远程服务器并检查“scp”是否有效

可能的原因: - scp 不在路径中 - openssh 客户端安装不正确

更多详情http://www.linuxquestions.org/questions/linux-newbie-8/bash-scp-command-not-found-920513/


小智 5

检查是否scp从您要复制检查的位置安装which scp

如果它已经安装,它会打印一个像/usr/bin/scp Else这样的路径,安装 scp 使用:

yum -y install openssh-clients
Run Code Online (Sandbox Code Playgroud)

然后复制命令

scp -r root@192.168.1.1:/var/www/html/database_backup/restore_fullbackup/backup_20140308-023002.sql  /var/www/html/db_bkp/
Run Code Online (Sandbox Code Playgroud)