Мне нужно будет удаленно администрировать чей-нибудь macbook pro через ssh. Проблема в том, что они будут перемещаться между сетями, поэтому я не могу просто настроить переадресацию портов на их маршрутизаторе. Какую стратегию я мог бы использовать для получения доступа, независимо от того, в какой сети они находятся?
Я думаю, что можно было бы заставить их запустить сценарий bash (надеюсь, дважды щелкнув значок на рабочем столе), который каким-то образом позволил мне войти в ssh.
Возможно, что-то вроде https://github.com/progrium/localtunnel мог сделать работу?
Спасибо!
Можете ли вы настроить OpenVPN между Macbook и вашим сайтом? Macbook может быть клиентом OpenVPN, используя TunnelBlick. Вы можете настроить сервер OpenVPN на своем сайте, используя все, что вам подходит. В этом случае Macbook инициирует VPN-соединение с вашим сайтом, а ваш сервер OpenVPN назначит ему статический IP-адрес внутри VPN. Затем вы можете просто использовать ssh на этот IP-адрес VPN.
Да, этот местный туннель, вероятно, подойдет. С другой стороны, OpenVPN гораздо более стандартизирован и понятен, чем localtunnel. И вы можете сделать с ним гораздо больше, если вам нужен дополнительный доступ.
Вам понадобится машина, которую вы будете администрировать, для исходящих подключений, чтобы добраться до нее за любыми брандмауэрами / маршрутизаторами, за которыми она окажется. Вы можете подумать о том, чтобы избавить себя от головной боли, реализуя это самостоятельно, и использовать что-то вроде Хамачи.
Насколько я понимаю, вы можете это сделать при условии, что:
1) у вас есть общедоступный IP и sshd-сервер, ИЛИ
2) если вы находитесь в интрасети, и вы можете настроить переадресацию портов на своем маршрутизаторе, чтобы порт 22 был перенаправлен на ваш компьютер.
Если 1) или 2) относятся к вам, и на компьютере с macos запущен сервер sshd. Если вы хотите получить к нему доступ, выполните следующие действия на macos (создайте из него скрипт и передайте его владельцам):
macos$ ssh -R 65022:localhost:22 root@<yourmachine_ip_address>
Он перенаправляет sshd-сервер macos на ваш порт 65022.
Теперь вы можете просто использовать ssh для порта 65022:
yourlocalmachine$ ssh -p 65022 root@127.0.0.1
и теперь вы должны использовать macos.
Кстати: yourmachine_ip_address может быть третьей машиной с доступом sshd, которым вы владеете, и с общедоступным IP-адресом. Затем на последнем шаге вы подключитесь к нему следующим образом:
yourlocalmachine$ ssh -p 65022 root@<yourmachine_ip_address>
ВНИМАНИЕ: я не уверен на 100%, что он будет работать (еще не тестировал), но это интересно - попробую, как только вернусь домой :)
ОБНОВЛЕНИЕ: Я тестировал это - работает как шарм.
ОБНОВЛЕНИЕ 2: во втором случае (когда мы используем третью машину), GatewayPorts yes
должен быть установлен в файле / etc / sshd / sshd_config на этом компьютере.
Если вам конкретно нужен SSH, то это позволит какой-то VPN-клиент на Mac, который связывает его с вашей сетью. Когда вам нужно получить доступ, они запускают VPN, который назначает им статический адрес в вашей сети, а затем вы включаете SSH.