Я не уверен, отвечаю ли я на ваш вопрос, но я чувствую, что в том, что вы собираетесь делать, отсутствует кирпич, поэтому я добавлю недостающее звено и рискну, что это не ваш вопрос.
то, что вы намереваетесь сделать, возможно с SSH и не так сложно настроить, но позвольте мне начать с отказа от ответственности: туннелирование SSH является незаконным во многих рабочих средах и может уволить вас, даже если ваша цель состоит в том, чтобы добраться до вашего собственного домашнего сервера с данными/резервными копиями.
в порядке чтобы добраться до сервера lets say дома ("ДОМА") за NAT вашего провайдера с ноутбука в публичной сети, скажем, интернет-кафе ("ноутбук"), вы сделаете следующее.
сначала вам нужен SSH-сервер, работающий, который доступен в публичном интернете (SSShub).
подключить" home "постоянно с" SSHhub " и пульт ДУ перенаправить порт из "SSHhub" на ваш "домашний" сервер. Взгляните на autossh, чтобы убедиться, что соединение сохраняется, если вы отсутствуете, и проверьте страница справочника sshd_config для правильной удаленной пересылки. На вашей домашней машине вы начинаете
autossh -M 0 -Nf SOCKSUSER@SSHHUB -r 8022:localhost:22
это перенаправит порт 8022 на публичном сервере SSHhub на ваш домашний сервер SSH порт 22.
теперь вы сидите в интернеткафе с ноутбуком и local перенаправить некоторый неограниченный порт на sshhub на порту 8022 (используя приведенный выше пример). Так что на вашем ноутбуке вы начинаете
autossh -M 0 -Nf SOCKSUSER@SSHHUB -l 8122:localhost:8022
когда это настроено, вы можете главная машина с вашего ноутбука, запустив
ssh SOCKSUSER@localhost -p 8122
сеанс ssh, перенаправленный с localhost: 8122 на вашем ноутбуке на localhost: 8022 на SSHhub, а оттуда на localhost: 22 на вашем домашнем сервере.
вам будет предложено ввести пароль учетной записи. Все это даст вам некоторые головные боли с имея открытый ключ от ноутбука и домашний сервер .ssh / authorized_keys файл SSHhub. PasswordAuthentication no
в файле /etc/ssh/sshd_config все должно быть в порядке, так как вы вход из внутри localhost, но проверить это сами. При отладке может потребоваться установить значение да.
Регистрация autossh странице для -M 0
option. Это будет "пинг" сервер SSH через зашифрованный туннель в противном случае вы должны настроить порты мониторинга с -M
option. -M 0
требует, чтобы вы установили переменные ServerAlive в .ssh / config файл типа so
ServerAliveInterval 15
ServerAliveCountMax 2
TCPKeepAlive no
вы можете иметь их также inline я думаю.
теперь я могу ответьте вам на оригинальный вопрос: Можно ли войти в свою домашнюю машину за NAT без открытого ключа RSA на ноутбуке / машине интернет-кафе. Ответ " да " (насколько я помню) в приведенном выше сценарии, когда вы разрешаете PasswordAuthentication yes
на SSHhub, так что вы можете подключиться с любой машины (имея SSH-клиент доступен) к SSHhub.
очень поздний и, вероятно, неправильный ответ, но я использовал некоторое время, чтобы понять это, и я думаю, что другие тоже задаются этим вопросом.