web-dev-qa-db-ja.com

scpコマンド「bash:scp:command not found」の使用時のエラー

Scpコマンドを使用してローカルファイルをリモートサーバーにコピーしたいのですが、リモートサーバーにユーザーのパスワードを入力するとエラーメッセージが表示されます。

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

Gitユーザーを使用してサーバーをチェックしましたが、scpコマンドが見つかり、openssh-clinetsもインストールされているようです。

[email protected] ~]$ scp
usage: scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
           [-l limit] [-o ssh_option] [-P port] [-S program]
           [[[email protected]]Host1:]file1 ... [[[email protected]]Host2:]file2
[email protected] ~]$ su root
......
[email protected] ~]# 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

プローブの間違い... ^ _ ^

51
Rivers Yang

Scpコマンドが使用可能であることを確認してください両側-クライアントとサーバーの両方で。

これがFedoraまたはRed Hat Enterprise Linuxで、クローン(CentOS)の場合、このパッケージがインストールされていることを確認してください。

    yum -y install openssh-clients

Debianまたはbuntとクローンを使用して作業する場合は、このパッケージをインストールします。

    apt-get install openssh-client

繰り返しますが、サーバーとクライアントの両方でこれを行う必要があります。そうしないと、クライアントに「scp: command not found」などの「奇妙な」エラーメッセージが表示されます。これはすでに何千人もの人々を混乱させた、私は推測する:)

96
lzap

scpがインストールされているかどうかを確認しますwherewhich scpを使用してチェックをコピーする場合

既にインストールされている場合は、/usr/bin/scpなどのパスが出力されます。それ以外の場合は、次を使用してscpをインストールします。

yum -y install openssh-clients

その後、コピーコマンド

scp -r [email protected]:/var/www/html/database_backup/restore_fullbackup/backup_20140308-023002.sql  /var/www/html/db_bkp/
4
Sanjay eduteks

問題はリモートサーバーにあります。リモートサーバーにログインし、「scp」が機能するかどうかを確認できます

推定原因:-scpがパスにない-opensshクライアントが正しくインストールされていない

詳細については http://www.linuxquestions.org/questions/linux-newbie-8/bash-scp-command-not-found-920513/

3
Mehul Rathod