В настоящее время я не дома, и я хотел бы получить доступ к своему iMac, который включен вместо меня. Я настроил совместное использование экрана Mac, прежде чем уйти, но что-то пошло не так, и я не могу получить к нему доступ с моего MacBook. Моя домашняя сеть доступна через ssh на Raspberry Pi. Я хотел бы знать, если есть какой-либо способ получить доступ к моему iMac и настроить сервер ftp или vnc на этом через RPI. Например, существует ли какое-либо программное обеспечение linux, которое позволило бы мне получить доступ к другому клиенту в той же сети через VNC. Если это возможно, то я мог бы попытаться получить доступ к RPI из моего текущего места.

РЕДАКТИРОВАТЬ: После комментария @baf, вот все мои открытые порты на iMac:

PORT      STATE    SERVICE
3/tcp     filtered compressnet
22/tcp    open     ssh
88/tcp    open     kerberos-sec
222/tcp   filtered rsh-spx
513/tcp   filtered login
898/tcp   filtered sun-manageconsole
1055/tcp  filtered ansyslmd
1083/tcp  filtered ansoft-lm-1
1455/tcp  filtered esl-lm
2725/tcp  filtered msolap-ptp2
3370/tcp  filtered satvid-datalnk
3801/tcp  filtered ibm-mgr
5900/tcp  open     vnc
8873/tcp  filtered dxspider
9001/tcp  filtered tor-orport
9110/tcp  filtered unknown
10628/tcp filtered unknown
13782/tcp filtered netbackup
20221/tcp filtered unknown
31038/tcp filtered unknown
32772/tcp filtered sometimes-rpc7
32776/tcp filtered sometimes-rpc15
40911/tcp filtered unknown
44176/tcp filtered unknown

РЕДАКТИРОВАТЬ: После ответа baf, я обновляю то, что я в настоящее время сделал: я выполняю эту команду: ssh -L 5999:192.168.1.10:5900 pi_host_over_internet Поэтому, если я правильно понимаю, порт VNC из моего iMac доступен через порт 5999 от моего Pi. Теперь, чтобы подключиться к нему из моего текущего местоположения, мне нужно подключиться с помощью клиента VNC к «pi_host_over_internet: 5999». Я пробую это, но, очевидно, это не работает, потому что порт 5999 не перенаправляется на Pi на его маршрутизаторе.

РЕДАКТИРОВАТЬ: Уточнение моей настройки:

Что у меня сейчас, где я (Великобритания):

MacBook connected to a public WiFi

Что у меня дома (Франция):

Imac, local ip:`192.169.1.10`, port 5900 listenin to VNC, port 22 listening to SSH
RPI, local ip:`192.168.1.12`, port 22 listening to SSH
router accessible at `mydomain.com`, port 22 forwarded to RPI@`192,168.1.12:22`

РЕДАКТИРОВАТЬ: Вот что я получаю после ответа @baf:


Я бы принял любое предложение, поэтому не стесняйтесь предлагать что-либо.

1 ответ1

0

На вашей локальной машине (вне вашей сети) вы должны запустить ssh клиент со следующими параметрами:

ssh -L 5999:imac_host:5900 pi_host

Я выбрал 5999 для локального порта, но это может быть любой порт. Вы только должны убедиться, что он не используется какой-либо местной службой. Замените imac_host и pi_host на IP-адреса.

Когда вы успешно подключитесь с помощью данной команды, vnc порт 5900 из imac_host будет перенаправлен на порт локальной машины 5999.

Далее вам необходимо настроить клиент vnc на локальном компьютере для подключения к localhost через порт 5999 (подключиться к себе через данный порт).

Как это устроено

VNC сервер на вашем сервере iMac прослушивает порт 5900 предмет входящих соединений. Клиенты VNC могут подключаться к этому порту с других компьютеров в вашей локальной сети. Поскольку у вас нет прямого доступа к порту 5900 на вашем iMac, вы используете ssh для туннелирования соединения вашего компьютера через Интернет через маршрутизатор с iMac в вашей локальной сети.

ssh открывает порт 5999 (может быть любым другим портом) на вашей текущей машине и прослушивает на этом порту соединения. Когда вы подключаетесь к этому порту, ssh туннелирует соединение (через порт ssh 22) с вашим роутером и с роутера устанавливает соединение с iMac по порту 5900 . Это называется переадресацией портов.


На вашем iMac также включен ssh. Если вам не нужен vnc, а вы хотите только скопировать файл, то можно использовать scp. Для простоты вы можете попробовать без переадресации портов. Просто скопируйте файл из imac_host в pi_host . Из консоли Pi запустите:

scp username@imac_host:path_to_file destination_file`

Это скопирует файл path_to_file файл destination_file в вашей текущей папке на Pi. Затем вы можете повторить этот шаг и скопировать файл из Pi на локальный компьютер.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .