Linux scp не работает

Error when using scp command «bash: scp: command not found» [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

  • This question was caused by a typo or a problem that can no longer be reproduced. While similar questions may be on-topic here, this one was resolved in a way less likely to help future readers.
  • This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.

I want to use scp command to copy a local file to remote server, but I get an error message after input the password of user in remote server.

~]$ scp gitadmin.pub git@123.150.207.18: git@123.150.207.18's password: bash: scp: command not found lost connection 

I checked on server using the git user and it seems the scp command can be found and openssh-clinets were installed too.

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

I’m confused for the situation. Did I missing some configuration on server? (We are using RHEL6 as server.)

It’s my fault in path setting. I added ‘custom.sh’ in /etc/profile.d and added following lines in it to add /usr/local/node/bin directory to PATH.

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

But the format is wrong. I removed the pair of ‘»‘ and it works OK now. It should be:

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

Источник

scp не работает, но ssh работает

, затем печатаются три строки и файл не копируется. Однако я могу подключиться к серверу через SSH без проблем:

Читайте также:  Сколько нужно времени чтобы выучить linux

Как заставить работать scp?

6 ответов 6

Одной из возможных причин такого типа поведения является распечатка любого сообщения во время процесса входа на сервер. Scp зависит от ssh для обеспечения полностью прозрачного зашифрованного туннеля между клиентом и сервером.

Проверьте все сценарии входа на сервер, а также попробуйте использовать другого пользователя. Еще один метод определения источника ошибки — использовать -v в команде, чтобы отслеживать ход транзакции и видеть, где она терпит неудачу. При необходимости вы можете использовать до -vvv для увеличения многословия. Проверка различных форм scp также может быть поучительной, как указано в посте InChargeOfIT.

Под капотом scp устанавливает туннель с помощью ssh, а затем передает файл по этому туннелю с помощью команды ssh на дальнем конце, чтобы перехватить файл при его получении. Это иллюстрируется использованием tar и ssh для копирования структуры каталогов с сохранением времени владения и создания с помощью следующих команд:

 tar czf - ./* | ssh jf@otherserver.com tar xzf - -C ~/saved_tree 
ssh jf@otherserver.com "tar czf - ~/saved_tree" | tar xzvf - -C ./ 

Проверьте .bashrc целевого пользователя или эквивалентный файл. ~/.bashrc получен для неинтерактивных входов в систему. Если есть эхо или команда, которая что-либо выводит, это нарушит протокол SCP.

Редактировать: Вы уверены, что вводите правильный путь в команде scp? Например:

scp test.txt username@remoteserver.com 

потерпит неудачу (фактически, она просто выведет команду, как вы видите). В этом случае вам нужно будет указать действительный путь к удаленному серверу. Например, scp test.txt username@remoteserver.com:~/

scp /path/to/local/file yourremoteusername@servername.com:/path/to/remote/directory 
scp yourremoteusername@servername.com:/path/to/remote/file /path/to/local/directory 

Отправьте файл с рабочего стола в мою домашнюю папку на удаленном сервере:

scp ~/Desktop/myfile.txt john_doe@10.1.1.10:~/ 

Помните, ~ это ярлык для вашего домашнего каталога . например, /home /

scp ~/Documents/working/index.html john_doe@johndoe.com:/var/www/index.html 

В этом примере пользователю john_doe потребуются права на запись в каталог remote /var /www.

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

Если scp зависает из-за сообщений от ssh, он может помочь устранить их:

scp -o "StrictHostKeyChecking no" 

От scp man:

-B Выбирает пакетный режим (запрещает запрашивать пароли или парольные фразы).

-o ssh_option Может использоваться для передачи параметров в ssh в том формате, в котором нет отдельного флага командной строки scp. Для получения полной информации о параметрах, перечисленных ниже, и их возможных значениях, смотрите ssh_config (5).

В моем случае это, казалось, помогло, но не решило всей проблемы. Мы не смогли выяснить, почему зависает scp при переносе с удаленного на удаленный. Он висел в середине файла. 9 раз сработало, попытка № 10 не сработала. Мы подозревали, что это может быть зависание, когда наше VPN-соединение на мгновение получает скачок трафика, а затем scp не восстанавливается. Он действительно просто навсегда зависает и даже не выдает сообщение об ошибке.

Читайте также:  Manjaro linux vs kubuntu

Однако я сдался и переключился на sftp. Это значительно быстрее, так как используется прямое соединение между удаленными хостами. Вы должны включить

Host example.com AgentForward yes 

в файле ~/.shh/config компьютера, на котором запущен скрипт. Конечно, это только решение, если оба удаленных компьютера находятся в вашей доверенной сети.

Источник

scp does not work but ssh does

My local machine and remote machine are both connected to the same network i.e my Android Phone hotspot. I can connect to remote machine by ssh but, the problem is when I am trying to copy some files into remote machine, I am facing error messages, the strange thing is that yesterday scp was working, but today scp -v file.txt root@191.168.43.85:/root giving following error message:

Executing: program /data/data/com.termux/files/usr/bin/ssh host 191.168.43.85, user root, command scp -v -t /root OpenSSH_7.7p1, OpenSSL 1.0.2o 27 Mar 2018 debug1: Reading configuration data /data/data/com.termux/files/usr/etc/ssh/ssh_config debug1: Connecting to 191.168.43.85 [191.168.43.85] port 22. debug1: Connection established. debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_rsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_rsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_dsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_dsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_ecdsa type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_ecdsa-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_ed25519 type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_ed25519-cert type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_xmss type -1 debug1: key_load_public: No such file or directory debug1: identity file /data/data/com.termux/files/home/.ssh/id_xmss-cert type -1 debug1: Local version string SSH-2.0-OpenSSH_7.7 ssh_exchange_identification: read: Connection reset by peer lost connection 
# ls -la .ssh total 12 drwx------ 2 u0_a334 u0_a334 4096 Jul 25 12:33 . drwx------ 36 u0_a334 u0_a334 4096 Jul 25 12:05 .. -rw------- 1 u0_a334 u0_a334 0 Jul 25 12:33 authorized_keys -rw-r--r-- 1 u0_a334 u0_a334 175 Jul 25 11:51 known_hosts 

I checked /etc/hosts.deny all things are commented so it is not culprit. Here is content of known_hosts file from local machine

# cat .ssh/known_hosts 192.168.43.85 ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBB4scw5vCUl2dssTS97+5QhiMBIk+/Tc15LoqAoS05i99jMOwRwyRpoNcKTk52d5hprkI7ECIGC9Qrh1KcIniFM= 

I think it is not duplicate of this Trying to SSH into server and getting key_load_public: No such file or directory error Because my situation is a little bit different, as I can still control my remote machine, by means of ssh root@192.168.43.85 . By the way I tried all solutions from Trying to SSH into server and getting key_load_public: No such file or directory error Edit After generating private keys everything is working fine but still I am confused why scp was working without private keys.

Читайте также:  Установить браузер опера для линукс

Источник

scp copy over ssh doesn’t work — permission denied error, please?

It’s driving me nuts! I just want to transfer one simple file from laptop to server. I’m using ubuntu on both machines. So I have:

-rwxr-xr-x 1 sandro 414622 2011-10-14 23:42 sandrophoto-html.tar.gz 
sudo scp -P XXXX sandrophoto-html.tar.gz usern@server.local:/media/xx/xx/xx 

And I get: scp: /media/xx/xx/xx/sandrophoto-html.tar.gz: Permission denied p.s. I might be doing this other way around — I want to send file tar.gz that is located on my desktop, to remote server into the folder /media/yadayda

In my case, It was security reason on the receiving side, I had to chmod the directory to allow the remote user to write the file (i chmod 777 the directory — but it is internal lab)

In my case, it was an ownership issue from the source side. Go to the source directory and change the ownership | sudo chown [username] [directoryname] |

7 Answers 7

You have things in the right order from what I understand, the general way an scp is done is:

scp sourceuser@sourcehost:/path/to/source/file destinationuser@destinationhost:/path/to/destination/ 

Judging by your question, you have a local file you want to send to the destination server. So you have the right syntax which is good!

If you’re getting permission denied, then you’re not using the correct username or something’s amiss with the authentication. Most likely, it’s because the sudo command only works locally, for starters, so it won’t give you root on the remote box, so that’s probably the problem. Make sure that the user you are logging in as on the remote server has write permissions to the location you’re trying to write to.

If the problem is the destinationuser doesn’t have access to that location without sudo, move the file to the destinationuser’s home folder then sudo mv the file from the shell on the other server to put it in the right location.

Источник

Оцените статью
Adblock
detector