Как да поправя грешка „Няма такъв файл или директория“ в SCP?

SCP означава протокол за защитено копиране и се основава на протокола “Secure Shell”. Той предоставя метод за прехвърляне на файлове между компютри. При този трансфер или двата компютъра могат да бъдат отдалечени хостове, или единият компютър може да бъде локален хост, а другият - отдалечен хост. Съвсем наскоро много потребители получават грешка „ Няма такъв файл или директория “, докато се опитват да копират файлове с SCP.

В тази статия ще обсъдим някои от причините, поради които този проблем се задейства, а също така ще предоставим жизнеспособни решения за пълното му отстраняване. Също така ще разгледаме някои от причините, поради които то се задейства. Не забравяйте да следвате ръководството внимателно и точно, за да избегнете конфликт.

Какво причинява грешката „Няма такъв файл или директория“ в SCP?

След като получихме многобройни отчети от множество потребители, решихме да проучим проблема и измислихме набор от решения, за да го отстраним напълно. Също така разгледахме причините, поради които се задейства, и ги изброихме, както следва.

  • Неправилна команда:  В някои случаи командата, която се използва от потребителя за копиране на файла, може да не е правилна. Трябва да промените командата за копиране, за да се побере в текущата ситуация, в която копирате. Командите за копиране на файлове и цяла директория са различни. Също така, командата за копиране между два компютъра с различни конфигурации се променя според изискванията.
  • Номер на порта:  Възможно е също номерът на порта за копиране на файлове между компютрите да не е посочен. Правилният порт трябва да бъде препратен, преди да се опитате да копирате файлове между два хоста.
  • Неправилно влизане: Ако в момента сте влезли в сървъра и се опитвате да копирате файловете на работен плот, може да възникне тази грешка, защото сървърът се опитва да намери локалния път в сървъра. Това може да бъде предотвратено чрез излизане от пътя на сървъра.
  • Разрешения за файлове:  В някои случаи разрешенията на файловете, които трябва да бъдат копирани, могат да бъдат ограничени до „Само за четене“. Това може да попречи на сървъра да има достъп до файловете и да може да ги копира. Важно е да се предоставят разрешения за четене и запис за файловете.

Сега, когато имате основно разбиране за същността на проблема, ние ще продължим към решенията. Уверете се, че ги прилагате в конкретния ред, в който са представени, за да избегнете конфликт.

Решение 1: Използване на правилни команди

Трябва да използвате правилната команда в зависимост от конфигурацията на хостове, между които искате да прехвърлите файловете. За това ще изброим някои от командите, които могат да се използват за прехвърляне на файлове между различни конфигурации на хост.

Копиране от локален хост на отдалечен хост

Localhost е действителният компютър, до който имате физически достъп. Отдалеченият хост е този, до който потребителят няма никакъв физически достъп и се намира в отдалечен сървър. За да прехвърлите файлове от Localhost към отдалечен хост, трябва да използвате следните конфигурации на команди.

$ scp "the_file" your_username @ the_remote_host: / path / to / the / directory

Пример за копиране на текстов файл с име „ Alexa.txt “ ще бъде както следва.

$ scp Alexa.txt [email protected]: / some / remote / directory

По същия начин можете да копирате цяла директория по следния начин

$ scp -r "the_directory_to_copy" your_username @ the_remote_host: the / path / to / the / directory / to / copy / to

Пример за копиране на директория с име „ Alexa “ ще бъде както следва.

$ scp -r foo [email protected]: / some / remote / directory / bar

Копиране от отдалечен хост на локален хост

Ако искате да копирате файл от отдалечения хост на локален хост, конфигурациите на командите се различават от оригиналните. По-долу са посочени подходящите команди за копиране на файлове между отдалечен хост и Localhost.

За да копирате файл, използвайте следната команда

$ scp your_username @ the_remote_host: the_file / your / local / directory

За да копирате файл с име „ Alexa . txt “, използвайте следните команди

$ scp your_username @ the_remote_host: Alexa.txt / your / local / directory

Решение 2: Идентифициране на номера на порта

Номерът на порта на отдалечения хост трябва да бъде идентифициран, преди да копирате файла на компютъра. За това ще добавим номера на порта, докато инициираме процеса на копиране.

Можете да използвате следната команда за копиране между компютри, като същевременно посочвате номера на порта .

$ scp -P порт_номер your_username @ the_remote_host: the_file / your / local / directory

Същата тази команда може да се използва за посочване на номера на порта, докато копирате на или от отдалечен хост. Трябва само да добавите „ -P (Номер на порта) “ след частта „ $ scp “ на командата.

Решение 3: Промяна на разрешенията

Съответните разрешения трябва да бъдат предоставени на файла, докато ги копирате между компютри. Следователно в тази стъпка ще посочим процеса за промяна на разрешенията на даден файл. За това:

  1. Право - кликнете върху файла, който се опитвате да копирате.
  2. Кликнете върху „ Properties “ и изберете раздела „ Security “.
  3. Уверете се, че всички разрешения са предоставени на „ Система “ и „ Администратор “.

Забележка:  Уверете се също, че не влизате в пътя на сървъра, докато копирате файловете.