Подтвердить что ты не робот

Ошибка при использовании команды scp "bash: scp: command not found"

Я хочу использовать команду scp для копирования локального файла на удаленный сервер, но я получаю сообщение об ошибке после ввода пароля пользователя на удаленном сервере.

~]$ scp gitadmin.pub [email protected]:
[email protected] 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 как сервер.)


Это моя ошибка в настройке пути. Я добавил 'custom.sh' в /etc/profile.d и добавил следующие строки в нем, чтобы добавить каталог /usr/local/ node/bin в PATH.

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

Но формат неправильный. Я удалил пару "", и теперь он работает нормально. Это должно быть:

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

Ошибка зонда... ^ _ ^

4b9b3361

Ответ 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/

Ответ 3

Проверьте, установлен ли scp или нет из где, который вы хотите скопировать проверьте с помощью which scp

Если он уже установлен, он напечатает вам путь, например /usr/bin/scp Else, установите 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/