Я на Mac с Catalina. У меня есть файл на удаленном сервере, с которым я хочу работать на своей локальной машине; Я хочу сделать так, чтобы я перешел от удаленного к локальному.

Я просмотрел этот пост, этот пост и многие подобные онлайн-ресурсы и увидел, что мне нужно использовать свое имя пользователя и адрес, а затем путь к файлу; мне интересно, как я их нахожу и что использую? Я видел только шаблоны «заменить с помощью вашей информации», но не видел примеров того, как это должно выглядеть.

Я спрашиваю об этой части

user@1.2.3.4:путь/к/newRead.txt

, но моя информация заменена общей информацией.

Когда я попробовал ifconfig, появилось несколько блоков фраз и чисел; что я должен использовать (если есть)? Я также не знаю, как найти свое имя пользователя и как должен выглядеть мой путь (должно ли имя пользователя быть полным результатом команды hostname, а начало пути результатом печати рабочего каталога из дома (~) ?)

Есть ли команды, которые я могу ввести в командную строку, которая даст мне их напрямую или даст мне отформатированную строку того, как должна выглядеть моя (локальная) конкретная часть?

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

-1
ThoughtOfGod 28 Янв 2021 в 23:19
Пожалуйста, отредактируйте свой вопрос и добавьте дополнительные сведения: Как вы подключаетесь и входите в удаленную систему? Каким образом ограничено, что это не позволит использовать scp на локальной машине? В зависимости от вашей локальной сети и маршрутизатора может потребоваться некоторая настройка на вашей стороне или может быть невозможно получить доступ к вашему локальному компьютеру с удаленного сервера. Покажите вывод ifconfig в вашем вопросе. Реальные IP-адреса важны, по крайней мере, первые две цифры IPv4-адреса не должны изменяться. Опишите вашу локальную сеть, подключение к Интернету и подключение к удаленному серверу.
 – 
Bodo
29 Янв 2021 в 00:01
Является ли вывод ifconfig конфиденциальной информацией? Я подумал, может быть, я не должен публиковать это из-за этого?
 – 
ThoughtOfGod
29 Янв 2021 в 00:05
Если на этом сервере не запущена программа sshd или у вас нет учетной записи shell на этом сервере, вы не сможете получить доступ к файлам с помощью scp вообще. Наличие учетной записи электронной почты/ftp/cpanel/web/sftp-accessible на этом сервере недостаточно.
 – 
Uncle Billy
29 Янв 2021 в 00:08
Чтобы приблизиться к ответу, можно ли получить доступ к вашей локальной системе с удаленного сервера, нам нужно выяснить, есть ли у вас публичный или частный IP-адрес. Если вы можете ответить на этот вопрос, нам не нужно видеть ваш IP-адрес(а). См. en.wikipedia.org/wiki/Private_network. Исходя из вашего вопроса, я подумал, что это может быть сложно. для тебя. Пожалуйста, объясните в своем вопросе, почему правомерно копировать файлы с сервера, к которому вы обращаетесь с помощью эксплойта? Не забудьте предоставить другую запрошенную информацию в своем вопросе.
 – 
Bodo
29 Янв 2021 в 00:28
Да, я не очень хорошо знаком с этим, поскольку Диркт сказал, что это, вероятно, невозможно. Что касается частной сети, моя локальная сеть имеет спецификации IPv4. Я говорю добросовестно, потому что это в контексте сайта, на котором размещены вопросы, подобные CTF, которые некоторые другие и я изучаем. Я уверен, что "случайный эксплойт passthru" является преднамеренным, и они хотят, чтобы мы шпионили. Я хотел знать, есть ли способ перенести файлы с сайта на мой локальный компьютер только потому, что с ним было бы проще работать и использовать программное обеспечение; Я думал, что более общий вопрос будет иметь больше смысла, но я думаю, что нет.
 – 
ThoughtOfGod
29 Янв 2021 в 01:17

2 ответа

Итак, вы хотите скопировать что-то с удаленной машины на локальный Mac? Вы можете сделать это так:

# from your local mac machine
$ scp <username>@<remote-hostname>:/path/to/thing/to/copy .
# or if its a directory
$ scp -r ...

Это скопирует файл в ваш текущий рабочий каталог (отсюда .)

Чтобы получить имя пользователя и имя хоста удаленной машины, просто войдите в систему и запустите whoami и hostname (при условии, что удаленная машина относится к Linux)

# e.g. 
$ ssh remote-hostname
$ hostname 
# prints machine hostname
$ whoami
# prints your username 

Fwiw, если вы уже знаете, как ssh подключиться к этой удаленной машине, то вы уже знаете, что такое имя хоста для scp :)

Дополнительная информация:

scp хорош для начала, но rsync может быть лучшим выбором в зависимости от того, какие типы копирования/синхронизации вы выполняете. Например. вы можете попробовать:

# from local mac
$ rsync -auvz <username>@<remote-hostname>:/path/to/folder/ .

rsync, используемый таким образом, будет сжимать файлы до/после отправки и будет учитывать различия между вашей локальной и удаленной структурой папок, обновляя только то, что должно быть (так что идемпотент против scp, который не является)

1
Simon Keng 29 Янв 2021 в 00:13
Ваш ответ - один из самых полезных; whoami — это команда, которую я искал, и другие вещи, которые вы сказали, были полезны. Я боюсь, что моя конкретная проблема может быть слишком странной, и люди здесь не смогут помочь, но спасибо за ваш ответ. Кроме того, знаете ли вы, как это сделать с удаленной машины, и можно ли это сделать без удаленного пользователя/узла (вместо этого я бы предположил, что с локальным пользователем и узлом)? Я не использую ssh, как я уже говорил в некоторых других комментариях, поэтому я понимаю, если это невозможно. У меня есть только догадки о точном удаленном пользователе/хосте, поэтому я и спрашиваю.
 – 
ThoughtOfGod
29 Янв 2021 в 01:30

У меня есть файл на удаленном сервере

Итак, удаленный сервер имеет имя, скажем, remote.server.com, и у вас есть учетная запись на удаленном сервере, скажем, god. Вы знаете, где находится файл на удаленном сервере, например, в домашнем каталоге god в каталоге files с именем myfile.

Затем вы, со своего Mac,

scp god@remote.server.com:files/myfile localfile

И он скопирует удаленный файл как localfile на ваш Mac.

ifconfig ничего не скажет вам об удаленном сервере.

Если вы не знаете имя своей учетной записи god на удаленном сервере, значит, у вас нет учетной записи на удаленном сервере. Итак, первое, что вам нужно сделать, это получить учетную запись. Как это сделать, зависит от вас. У вас изначально был файл на remote.server.com, о котором вы ничего нам не сказали. Обычно это включает в себя опрос того, кто управляет удаленным сервером.


Я (добросовестно) получаю доступ к терминалу через эксплойт passthru, где я могу видеть разные каталоги и файлы через поле ввода, предназначенное для чего-то еще на сайте.

Итак, это веб-сервер, и у вас нет учетной записи на сервере, что означает, что вы не можете использовать scp. Конец истории.

Если вы делаете это добросовестно, это означает, что вы должны знать, кто управляет сервером, чтобы вы могли связаться с ними, чтобы получить учетную запись.

0
dirkt 29 Янв 2021 в 00:23
Я не указал контекст, потому что это немного нишево; Я (добросовестно) получаю доступ к терминалу через эксплойт passthru, где я могу видеть разные каталоги и файлы через поле ввода, предназначенное для чего-то еще на сайте. Я зарегистрировался на сайте, поэтому у меня есть имя пользователя. Я просто не уверен, как увидеть remote.server.com или мое имя пользователя для этого контекста, потому что это более примитивно, и я не знаю команд для проверки. Я подумал, что будет проще просто попытаться отправить файл, чем извлечь его, но если есть команды, которые я могу использовать, чтобы найти эти вещи, которые были бы полезны.
 – 
ThoughtOfGod
29 Янв 2021 в 00:12
Является ли remote.server.com просто адресом веб-сайта?
 – 
ThoughtOfGod
29 Янв 2021 в 00:12