使用 scp 命令“bash:scp:找不到命令”时出错 [关闭]
Posted
技术标签:
【中文标题】使用 scp 命令“bash:scp:找不到命令”时出错 [关闭]【英文标题】:Error when using scp command "bash: scp: command not found" [closed] 【发布时间】:2013-06-12 10:25:53 【问题描述】:我想使用 scp 命令将本地文件复制到远程服务器,但在远程服务器输入用户密码后出现错误消息。
~]$ scp gitadmin.pub git@123.150.207.18:
git@123.150.207.18's password:
bash: scp: command not found
lost connection
我使用 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.
我对这种情况感到困惑。我错过了服务器上的一些配置吗? (我们使用 RHEL6 作为服务器。)
路径设置是我的错。 我在 /etc/profile.d 中添加了“custom.sh”,并在其中添加了以下行以将 /usr/local/node/bin 目录添加到 PATH。
export PATH="/usr/local/node/bin:$PATH"
但是格式不对。我删除了这对'"',现在可以正常工作了。应该是:
export PATH=$PATH:/usr/local/node/bin
探测错误...^_^
【问题讨论】:
【参考方案1】:确保 scp 命令在两边都可用 - 在客户端和服务器上都可用。
如果这是 Fedora 或 Red Hat Enterprise Linux 和克隆 (CentOS),请确保已安装此软件包:
yum -y install openssh-clients
如果您使用 Debian 或 Ubuntu 和克隆,请安装此软件包:
apt-get install openssh-client
同样,您需要在服务器和客户端上都这样做,否则您可能会在客户端上遇到“奇怪”的错误消息:scp: command not found
或类似的,尽管您在本地拥有它。我猜这已经让成千上万的人感到困惑了:)
【讨论】:
【参考方案2】:问题出在远程服务器上,你可以登录远程服务器并检查“scp”是否有效
可能的原因: - scp 不在路径中 - openssh 客户端未正确安装
更多详情http://www.linuxquestions.org/questions/linux-newbie-8/bash-scp-command-not-found-920513/
【讨论】:
正如我在问题中发布的那样,似乎 scp 命令可以在服务器端运行,并且安装了 openssh-clients。这就是为什么这变得如此奇怪。还有其他想法吗? 谢谢梅胡尔。使用“custom.sh”文件设置路径是我的错误。 对我来说 scp 在路径上,但“/bin”不是出于某种原因。这就是问题所在。【参考方案3】:检查scp
是否安装在您要复制的位置
检查使用which scp
如果它已经安装,它会打印出一个类似/usr/bin/scp
的路径
否则,使用以下命令安装 scp:
yum -y install openssh-clients
然后复制命令
scp -r root@192.168.1.1:/var/www/html/database_backup/restore_fullbackup/backup_20140308-023002.sql /var/www/html/db_bkp/
【讨论】:
以上是关于使用 scp 命令“bash:scp:找不到命令”时出错 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章