Я оглянув інші питання тут і різні навчальні посібники з "використання scp" в Інтернеті, але не можу розібратися, що не так.
Я використовую Linux Mint і намагаюся з’ясувати, як працює scp .
У мене є файл file.ext (на моєму комп’ютері) у каталозі / home / name / dir /
Я підключаюся до віддаленої машини за допомогою ssh , наприклад:
ssh -p 2222 username@domain
він запитує мене пароль, і оболонка відображає:
username@domain ~ $
Тепер, якщо я видаю команду (до запуску ssh я був у локальному каталозі / home / name / dir ):
scp -r -P 2222 file.ext username@domain
вихід:
cp: cannot stat ‘file.ext’: No such file or directory
Той самий результат, якщо замість file.ext я записую повний шлях
scp -r -P 2222 /home/name/dir/file.ext username@domain
Також адміністратор сервера сказав мені, що я завантажую файл у свою віддалену домашню директорію (замість root), наприклад:
scp -r -P 2222 file.ext username@domain:~/
але коли я це роблю і натискаю "Enter", нічого не відбувається, як би оболонка чекала подальшого введення.
Короткий зміст моїх проблем:
- cp: такого файлу чи каталогу немає
- оболонка "застрягла" на ~ /
Будь-які пропозиції?
scp
, то віддалена сторона завжди повинна містити двокрапку (наприклад remotehost:/tmp
), інакше це буде просто робити звичайну копію ( scp /tmp/foo.txt example.com
скопіює /tmp/foo.txt
в локальний файл example.com
)
-r
прапор, оскільки це не потрібно для копіювання окремих файлів (використовується для рекурсивної копіювання каталогів)
localuser@machineA: ssh -p 2222 username@domain
(щоб вказати, що ви виконуєте команду ssh як локальний користувач на machineA)