2013-06-16 19 views
43

Chcę użyć polecenia scp do skopiowania pliku lokalnego na zdalny serwer, ale po wprowadzeniu hasła użytkownika na serwerze zdalnym pojawia się komunikat o błędzie.Błąd podczas używania polecenia scp "bash: scp: command not found"

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

Sprawdziłem na serwerze za pomocą użytkownikowi git i wydaje polecenie scp można znaleźć i OpenSSH-clinets zainstalowano zbyt.

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

Jestem zdezorientowany z powodu sytuacji. Czy brakowało mi jakiejś konfiguracji na serwerze? (Używamy RHEL6 jako serwera.)


To moja wina w ustawieniu ścieżki. Dodałem "custom.sh" w /etc/profile.d i dodałem następujące linie, aby dodać katalog/usr/local/node/bin do PATH.

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

Ale format jest nieprawidłowy. Usunąłem parę „"”i działa OK, teraz powinno być:.

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

Pomyłka sonda ...^_^

Odpowiedz

3

Problem jest ze zdalnym serwerem, można zalogować się na pilocie serwer i sprawdzić, czy "scp" działa

prawdopodobne przyczyny: - SCP nie jest w ścieżce - OpenSSH klient nie jest zainstalowany poprawnie

więcej szczegółów http://www.linuxquestions.org/questions/linux-newbie-8/bash-scp-command-not-found-920513/

+0

Jak napisałem w moim pytaniu, wygląda na to, że polecenie scp można uruchomić po stronie serwera, a klienci openssh są zainstalowani. To dlatego staje się tak dziwne. Każdy inny pomysł? –

+0

Dzięki Mehul. To mój błąd w ustawianiu ścieżki przy użyciu pliku "custom.sh". –

86

Upewnij się, że polecenie scp jest dostępne po obu stronach - zarówno na kliencie, jak i na serwerze.

Jeśli jest to Fedora lub Red Hat Enterprise Linux i klony (CentOS), upewnij się, że ten pakiet jest zainstalowany:

yum -y install openssh-clients 

Jeśli pracujesz z Debianie lub Ubuntu i klonów , zainstaluj ten pakiet:

apt-get install openssh-client 

Jeszcze raz musisz to zrobić zarówno na serwer i klient, w przeciwnym razie możesz spotkać się z "dziwnymi" komunikatami o błędach na kliencie: scp: command not found lub podobnym, mimo że masz go lokalnie.To już mylić tysiące ludzi, myślę :)

3

Sprawdź, czy scp jest zainstalowany lub nie dalej od gdzie które chcesz chcesz skopiować czek korzystając which scp

Jeśli jest już zainstalowana, to cię do wydrukowania ścieżka jak /usr/bin/scp indziej, zainstalować SCP przy użyciu:

yum -y install openssh-clients 

Następnie skopiuj polecenie

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