перенаправление портов на Linux без корня или ssh

Я задавался вопросом, возможно ли получить перенаправление портов, не будучи корнем или ssh.

В настоящее время я делаю

ssh -L 20080:othermachine:80 localhost

Используя ssh может получить Вас определенные преимущества как создание зашифрованных туннелей и т.д. В вышеупомянутом примере я не делаю этого, настолько использующий ssh кажется ненужным служебный. Существует ли более легкий способ сделать это?

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

4
задан 03.10.2009, 11:53

5 ответов

я также предпочел бы ssh ИЗ-ЗА шифрования, но 'socat' должен хорошо работать для Вас также.

9
ответ дан 07.12.2019, 19:12
  • 1
    Спасибо! никогда не слышал о socat, эта программа может сделать намного больше, чем я когда-нибудь надеялся. Я уверен, что найду больше использования для него, чем просто перенаправление портов. – BlackShift 04.10.2009, 15:04

Вы спрашиваете: Is there an easier way to do this? Простой ответ был бы 'нет'. SSH делает то, в чем Вы нуждаетесь, и это - хорошо используемый, хорошо - знают, очень эффективная программа с (я вообразил бы), очень немного ошибок, это доступно на каждой платформе, которую можно вообразить, и это безопасно для начальной загрузки. Вы не заявляете, что производительность является проблемой, таким образом, я не вижу оснований, почему не использовать SSH, лично.

Если Вы хотите передать локальный порт порту на другой машине, Вам нужно что-то, что пройдет проверку подлинности на том удаленном хосте. Это - SSH. Если Вы только хотите уже смешать с локальными портами, то, как упомянуто, socat может быть, что Вы ищете.

3
ответ дан 07.12.2019, 19:12
  • 1
    Не было определенной причины не использовать ssh в это время, но я хотел расширить свой набор инструментов, и socat кажется очень мощным. (akira было первым для предложения этого, таким образом, я проверил его ответ.) – BlackShift 04.10.2009, 15:10
  • 2
    btw, три причины, когда ssh не оптимален: 1) это не доступно (как по моему телефону, но я сомневаюсь, что могу установить socat там), 2) никакой sshd, или в моем случае ограниченный объем позволенных логинов, 3) никакая учетная запись на удаленной машине (таким образом, шифровал/сжимал туннель, не возможно так или иначе), – BlackShift 04.10.2009, 15:12

Если, что Вы делаете работы, и Вы не видите проблем производительности, я ничего не изменил бы. Если Вы не передаете большие объемы данных, они не должны оказывать большую часть влияния. И если Вы, ssh может сжать данные, таким образом, Вы все еще могли бы быть более обеспечены.

Единственная проблема могла бы быть с задержкой. Похоже, что Вы туннелируете трафик HTTP, таким образом, это должно быть незначительно.

1
ответ дан 07.12.2019, 19:12

Безотносительно инструмента Вы используете: если не с помощью Windows затем Вы всегда будете только) должен работать с полномочиями суперпользователя, когда использование дало портам полномочия ("стандартные порты"). Так: при использовании портов до и включая 1 023.

0
ответ дан 07.12.2019, 19:12
  • 1
    , передающий низкому порту (который уже слушает), не требует полномочий суперпользователя, только для порта принятия (который был 10080 в моем примере). – BlackShift 04.10.2009, 15:15

Просто быстрое примечание, кажется, что ncat, который идет с новым nmap 5, может сделать подобные вещи как socat: http://nmap.org/ncat/

1
ответ дан 07.12.2019, 19:12

Теги

Похожие вопросы