
Я хочу scp
сценарий .sh
, /dev/shm
но он мне дает
error: unexpected filename: .
Я даже не вижу, где .
в сценарии или справочнике можно было бы найти хоть одно упоминание.
Полная команда была такой:
scp -r /opt/PEAS/linPEAS/linpeas.sh [email protected]: /dev/shm
(это из игры типа CTF для новичков, хакеров). Я пробовал добавлять, $(pwd)
как предлагалось в других темах, но безрезультатно.
решение1
scp
like cp
поддерживает копирование из нескольких источников в один целевой каталог. В вашей команде
scp -r /opt/PEAS/linPEAS/linpeas.sh [email protected]: /dev/shm
/opt/PEAS/linPEAS/linpeas.sh
и [email protected]:
являются источниками, /dev/shm
является (локальной) целью. Для локального копирования scp
возвращается к cp
. Ваша команда примерно эквивалентна:
cp -r /opt/PEAS/linPEAS/linpeas.sh /dev/shm
scp -r [email protected]: /dev/shm
а [email protected]:
в последнем случае эквивалентно [email protected]:.
и означает " .
(текущий рабочий каталог) после ssh
-ing to [email protected]
".
Хотя полностью локальный cp -r . /dev/shm
(или даже scp -r . /dev/shm
) может работать, scp
отказывается загружать удаленныйфайлназванный .
. (Я имею в виду устаревший scp
, который использует SCP, а не SFTP. См. «предварительную заметку» вэтот мой ответ. Похоже, вы scp
используете SCP. Мои тесты показывают, что scp
использование SFTP позволяет загружать данные .
с сервера.)
Учитывая все вышесказанное, я подозреваю, что вы, возможно, не хотите, чтобы local /dev/shm
был целевым каталогом. Возможно, вы хотите:
scp -r /opt/PEAS/linPEAS/linpeas.sh [email protected]:/dev/shm
где [email protected]:/dev/shm
удаленная цель, это означает /dev/shm
на 10.10.87.42
. Команда выше загрузит локальную linpeas.sh
вудаленный /dev/shm
. Вам на самом деле не нужно -r
, если только linpeas.sh
это не каталог.
решение2
/dev/shm
это разделяемая память Linux, к которой можно обращаться как к диску. Это не SSH-сервер.
Вам следует использовать:
scp -r /opt/PEAS/linPEAS/linpeas.sh /dev/shm
Но я не уверен, что это то, что вы хотите сделать. Размер ограничен, и данные будут потеряны после перезагрузки.
См. например Что такое /dev/shm и его практическое использование.