2013-06-16 7 views
43

Ich möchte mit dem Befehl scp eine lokale Datei auf den Remote-Server kopieren, aber ich bekomme eine Fehlermeldung nach Eingabe des Passworts des Benutzers in Remote-Server.Fehler bei der Verwendung von scp-Befehl "bash: scp: Befehl nicht gefunden"

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

Ich habe auf dem Server der git Benutzer verwenden und es scheint, der scp-Befehl gefunden und OpenSSH-clinets wurden auch installiert werden kann.

[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. 

Ich bin für die Situation verwirrt. Habe ich eine Konfiguration auf dem Server vermisst? (Wir verwenden RHEL6 als Server.)


Es ist meine Schuld in der Pfadeinstellung. Ich habe 'custom.sh' in /etc/profile.d hinzugefügt und folgende Zeilen hinzugefügt, um/usr/local/node/bin Verzeichnis zu PATH hinzuzufügen.

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

Aber das Format ist falsch. Ich entfernte das Paar '"' und es funktioniert jetzt OK Es sollte sein:.

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

Sonde Fehler ...^_^

Antwort

3

Ausgabe ist mit Remote-Server, können Sie auf die Remote-Login Server und prüfen Sie, ob "scp"

wahrscheinliche Ursachen funktioniert: - scp ist nicht in Weg - OpenSSH-Client nicht richtig installiert

für mehr Details http://www.linuxquestions.org/questions/linux-newbie-8/bash-scp-command-not-found-920513/

+0

Wie ich in meiner Frage geschrieben habe, scheint es, dass der scp-Befehl auf der Serverseite ausgeführt werden kann und die openssh-Clients installiert wurden. Deshalb wird das so seltsam. Irgendeine andere Idee? –

+0

Danke Mehul. Es ist mein Fehler, Pfad mit 'custom.sh' Datei zu setzen. –

86

Stellen Sie sicher, dass der Befehl scp verfügbar ist auf beiden Seiten - sowohl auf dem Client und auf dem Server.

Wenn diese ist Fedora oder Red Hat Enterprise Linux und Klone (CentOS), stellen Sie sicher, dass dieses Paket installiert ist:

yum -y install openssh-clients 

Wenn Sie mit Debian arbeiten oder Ubuntu und Klone , installieren Sie dieses Paket:

apt-get install openssh-client 

Auch hier müssen Sie dies tun auf der Server und der Client, sonst können auf Ihrem Client "seltsame" Fehlermeldungen auftreten: scp: command not found oder ähnlich, obwohl Sie es lokal haben.Das verwirrte bereits Tausende von Menschen, ich denke :)

3

Überprüfen Sie, ob scp installiert ist oder nicht auf von wo Sie wollen Prüfung mit which scp

kopieren Wenn es bereits installiert ist, wird es Sie drucken ein mit Pfad wie /usr/bin/scp Else, installieren scp:

yum -y install openssh-clients 

Befehl kopieren Sie dann

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