Я хорошо разбираюсь в старой машине - используйте USB-накопитель Ubuntu и нажмите «попробуйте без установки», чтобы загрузить систему в память, чтобы вы могли понять, как работают все устройства.
Я просто скопирую / вставку (слегка измененную) часть ответа @ b_laoshi отсюда:
В этом случае вы можете настроить свой туннель ssh из ComputerA -> ComputerB, чтобы он мог также туннелировать обратные соединения , При установлении ssh-соединения ComputerA -> ComputerB, сделайте это с помощью опции -R следующим образом:ssh ComputerBUser@ComputerB -R 2222:localhost:22
, где ComputerBUser является именем пользователя для учетной записи на компьютере, прошедшего проверку подлинности, и 2222 является свободным портом на компьютере ComputerB , Мы будем использовать этот порт для обратного туннеля обратно в ComputerA из ComputerB. Теперь из ComputerB вы можете выполнить команду scp следующим образом, чтобы скопировать файлы из ComputerB -> ComputerA, где ComputerAUser является вашим именем пользователя в ComputerA: scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA
или ssh -p 2222 ComputerAUser@localhost
Что здесь происходит? Похоже, мы просто говорим ComputerB, чтобы отправить файл обратно себе, потому что мы пропускаем localhost вместо ComputerA. Мы действительно говорим scp, чтобы передать файл обратно в ComputerB, но на порт 2222. Все соединения с портом 2222 на ComputerB пересылаются в порт 22 (порт ssh по умолчанию) в ComputerA. Таким образом, путем туннелирования назад по существующему соединению ssh, не имеет значения, что ComputerA находится за брандмауэром NAT. @b_laoshi Чтобы разрешить создание туннеля SSH без необходимости в активном оконечном окне, можно добавить параметр -N (до -R) (как указано в ссылке, предоставленной @steeldriver). Более того, если вы хотите автоматически установить постоянное фоновое ssh-соединение, здесь Erik Torgesta здесь предоставляет вам все необходимые шаги.
Я просто скопирую / вставку (слегка измененную) часть ответа @ b_laoshi отсюда:
В этом случае вы можете настроить свой туннель ssh из ComputerA -> ComputerB, чтобы он мог также туннелировать обратные соединения , При установлении ssh-соединения ComputerA -> ComputerB, сделайте это с помощью опции -R следующим образом:ssh ComputerBUser@ComputerB -R 2222:localhost:22
, где ComputerBUser является именем пользователя для учетной записи на компьютере, прошедшего проверку подлинности, и 2222 является свободным портом на компьютере ComputerB , Мы будем использовать этот порт для обратного туннеля обратно в ComputerA из ComputerB. Теперь из ComputerB вы можете выполнить команду scp следующим образом, чтобы скопировать файлы из ComputerB -> ComputerA, где ComputerAUser является вашим именем пользователя в ComputerA: scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA
или ssh -p 2222 ComputerAUser@localhost
Что здесь происходит? Похоже, мы просто говорим ComputerB, чтобы отправить файл обратно себе, потому что мы пропускаем localhost вместо ComputerA. Мы действительно говорим scp, чтобы передать файл обратно в ComputerB, но на порт 2222. Все соединения с портом 2222 на ComputerB пересылаются в порт 22 (порт ssh по умолчанию) в ComputerA. Таким образом, путем туннелирования назад по существующему соединению ssh, не имеет значения, что ComputerA находится за брандмауэром NAT. @b_laoshi Чтобы разрешить создание туннеля SSH без необходимости в активном окне терминала, можно добавить параметр -N (до -R) (как указано в ссылке, предоставленной @steeldriver). Более того, если вы хотите автоматически установить постоянное фоновое ssh-соединение, здесь Erik Torgesta здесь предоставляет вам все необходимые шаги.
Я просто скопирую / вставку (слегка измененную) часть ответа @ b_laoshi отсюда:
В этом случае вы можете настроить свой туннель ssh из ComputerA -> ComputerB, чтобы он мог также туннелировать обратные соединения , При установлении ssh-соединения ComputerA -> ComputerB, сделайте это с помощью опции -R следующим образом:ssh ComputerBUser@ComputerB -R 2222:localhost:22
, где ComputerBUser является именем пользователя для учетной записи на компьютере, прошедшего проверку подлинности, и 2222 является свободным портом на компьютере ComputerB , Мы будем использовать этот порт для обратного туннеля обратно в ComputerA из ComputerB. Теперь из ComputerB вы можете выполнить команду scp следующим образом, чтобы скопировать файлы из ComputerB -> ComputerA, где ComputerAUser является вашим именем пользователя в ComputerA: scp -P 2222 /path/to/file/on/ComputerB ComputerAUser@localhost:/path/to/drop/file/on/computerA
или ssh -p 2222 ComputerAUser@localhost
Что здесь происходит? Похоже, мы просто говорим ComputerB, чтобы отправить файл обратно себе, потому что мы пропускаем localhost вместо ComputerA. Мы действительно говорим scp, чтобы передать файл обратно в ComputerB, но на порт 2222. Все соединения с портом 2222 на ComputerB пересылаются в порт 22 (порт ssh по умолчанию) в ComputerA. Таким образом, путем туннелирования назад по существующему соединению ssh, не имеет значения, что ComputerA находится за брандмауэром NAT. @b_laoshi Чтобы разрешить создание туннеля SSH без необходимости в активном оконечном окне, можно добавить параметр -N (до -R) (как указано в ссылке, предоставленной @steeldriver). Более того, если вы хотите автоматически установить постоянное фоновое ssh-соединение, здесь Erik Torgesta здесь предоставляет вам все необходимые шаги.
Возможно, более простой способ, который я установил на своем собственном сервере.
Я проверяю свой внешний IP-адрес сервером каждые 15 минут (время между проверками настраивается cron). Затем он сравнивает это с самым последним IP-адресом, и если он изменился, он отправляет мне электронное письмо адрес.
Я нахожусь на моем телефоне в течение минуты, но могу отправить настройку, если вам нравится, это действительно довольно просто и довольно надежно, за исключением нечетной ложной электронной почты, когда сервер не может связаться с ip checker.
Обновление - вот сценарий. Вам, очевидно, нужна работающая учетная запись электронной почты, которую я лично установил для отправки из выделенной учетной записи gmail с помощью этого руководства
#bin/sh
IPADDRESS=$(curl https://wtfismyip.com/text)
if [ "$IPADDRESS" != "$(cat /home/will/scripts/.current_ip)" ]
then
dt=$(date)
echo "Your new IP address as of ${dt} is ${IPADDRESS} \r \r FTB" | mail -s "IP address change" emailforupdates@email.com
echo "$IPADDRESS" >| /home/will/scripts/.current_ip
echo "$dt $IPADDRESS" >> /home/will/scripts/.iphistory
fi
Я бы начал с touch .current_ip && touch .iphistory в каталоге, re собирается хранить файлы. У этого есть дополнительное преимущество хранения записи изменений IP, хотя я не нашел много пользы для этого, чтобы быть честным.
Установите скрипт так, чтобы он выполнялся как задание cron так часто, как вам нравится. Это не очень ресурсоемкий.
Возможно, более простой способ, который я установил на своем собственном сервере.
Я проверяю свой внешний IP-адрес сервером каждые 15 минут (время между проверками настраивается cron). Затем он сравнивает это с самым последним IP-адресом, и если он изменился, он отправляет мне по электронной почте новый ip адрес.
Я нахожусь на моем телефоне в течение минуты, но могу отправить настройку, если вам нравится, это действительно довольно просто и довольно надежно, за исключением нечетной ложной электронной почты, когда сервер не может связаться с ip checker.
Обновление - вот сценарий. Вам, очевидно, нужна работающая учетная запись электронной почты, которую я лично установил для отправки из выделенной учетной записи gmail с помощью этого руководства
#bin/sh
IPADDRESS=$(curl https://wtfismyip.com/text)
if [ "$IPADDRESS" != "$(cat /home/will/scripts/.current_ip)" ]
then
dt=$(date)
echo "Your new IP address as of ${dt} is ${IPADDRESS} \r \r FTB" | mail -s "IP address change" emailforupdates@email.com
echo "$IPADDRESS" >| /home/will/scripts/.current_ip
echo "$dt $IPADDRESS" >> /home/will/scripts/.iphistory
fi
Я бы начал с touch .current_ip && touch .iphistory в каталоге, re собирается хранить файлы. У этого есть дополнительное преимущество хранения записи изменений IP, хотя я не нашел много пользы для этого, чтобы быть честным.
Установите скрипт так, чтобы он выполнялся как задание cron так часто, как вам нравится. Это не очень ресурсоемкий.
Возможно, более простой способ, который я установил на своем собственном сервере.
Я проверяю свой внешний IP-адрес сервером каждые 15 минут (время между проверками настраивается cron). Затем он сравнивает это с самым последним IP-адресом, и если он изменился, он отправляет мне по электронной почте новый ip адрес.
Я нахожусь на моем телефоне в течение минуты, но могу отправить настройку, если вам нравится, это действительно довольно просто и довольно надежно, за исключением нечетной ложной электронной почты, когда сервер не может связаться с ip checker.
Обновление - вот сценарий. Вам, очевидно, нужна работающая учетная запись электронной почты, которую я лично установил для отправки из выделенной учетной записи gmail с помощью этого руководства
#bin/sh
IPADDRESS=$(curl https://wtfismyip.com/text)
if [ "$IPADDRESS" != "$(cat /home/will/scripts/.current_ip)" ]
then
dt=$(date)
echo "Your new IP address as of ${dt} is ${IPADDRESS} \r \r FTB" | mail -s "IP address change" emailforupdates@email.com
echo "$IPADDRESS" >| /home/will/scripts/.current_ip
echo "$dt $IPADDRESS" >> /home/will/scripts/.iphistory
fi
Я бы начал с touch .current_ip && touch .iphistory в каталоге, re собирается хранить файлы. У этого есть дополнительное преимущество хранения записи изменений IP, хотя я не нашел много пользы для этого, чтобы быть честным.
Установите скрипт так, чтобы он выполнялся как задание cron так часто, как вам нравится. Это не очень ресурсоемкий.