2013-06-16 21 views
43

Desidero utilizzare il comando scp per copiare un file locale sul server remoto, ma ricevo un messaggio di errore dopo aver inserito la password dell'utente nel server remoto.Errore durante l'utilizzo del comando scp "bash: scp: comando non trovato"

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

ho controllato sul server utilizzando l'utente git e sembra che il comando scp può essere trovato e sono stati installati troppo 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. 

Sono confuso per la situazione. Ho perso qualche configurazione sul server? (Stiamo usando RHEL6 come server.)


È colpa mia dell'impostazione del percorso. Ho aggiunto "custom.sh" in /etc/profile.d e aggiunto le seguenti righe in esso per aggiungere la directory/usr/local/node/bin a PATH.

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

Ma il formato è errato. Ho rimosso la coppia di '"' e funziona OK Ora dovrebbe essere:.

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

Un errore sonda ...^_^

risposta

3

problema è con il server remoto, si può accedere al telecomando server e controllare se "SCP" funziona

probabili cause: - SCP non è nel percorso - client di OpenSSH non è installato correttamente

per maggiori dettagli http://www.linuxquestions.org/questions/linux-newbie-8/bash-scp-command-not-found-920513/

+0

Come ho postato nella mia domanda, sembra che il comando scp possa essere eseguito sul lato server e sono stati installati i client openssh. Ecco perché questo diventa così strano. Qualche altra idea? –

+0

Grazie Mehul. È un mio errore impostare il percorso usando il file 'custom.sh'. –

86

Assicurarsi che il comando scp sia disponibile su entrambi i lati - sia sul client che sul server.

Se questa è la Fedora o Red Hat Enterprise Linux e cloni (CentOS), assicurarsi che questo pacchetto è installato:

yum -y install openssh-clients 

Se si lavora con Debian o Ubuntu e cloni , installa questo pacchetto:

apt-get install openssh-client 

Anche in questo caso, è necessario eseguire questa operazione sia su il server e il client, altrimenti è possibile riscontrare messaggi di errore "strani" sul client: scp: command not found o simili, sebbene siano disponibili localmente.Questo già confuso migliaia di persone, credo :)

3

Verificare se scp è installato o meno sul da dove si desidera copiare controllo utilizzando which scp

Se è già installato, verrà stampata una percorso come /usr/bin/scp Else, installare SCP utilizzando:

yum -y install openssh-clients 

quindi copiare comando

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