Как установить туннель ssh для передачи ssh?

Кавычки в этом потоке от WD и Seagate предлагают нет.

К конспекту ссылка: Seagate, Maxtor и диски WD могут использоваться в любой ориентации включая вверх тормашками.

13
задан 29 June 2009 в 17:42
4 ответа

Вы просите, чтобы это послушало на Вашем локальном порте 22 и вперед соединения с портом удаленной системы 8090. Вы не можете сделать этого, потому что Ваш локальный порт 22 уже взят Вашим локальным сервером SSH.

Я думаю, что Вы ищете, удаленная передача. Замена -L 22:localhost:8090 с -R 8090:localhost:22 скажет удаленному хосту слушать на порте 8090 и передавать запросы к Вашему серверу SSH.

При отъезде соединения, работающего, таким образом, можно войти позже от удаленного сайта, то Вы собираетесь хотеть удостовериться, что соединение не делает тайм-аута из-за неактивности путем добавления соответствующих опций (-o TCPKeepAlive=yes или -o ServerAliveInterval=30)

Таким образом, Вы закончите с чем-то как:

ssh -N user@my_server -R 8090:localhost:22 -o ServerAliveInterval=30

Кроме того, если один из сетевых транзитных участков между Вами и сервером снизится в какой-либо точке, то соединение отбросит несмотря на любые опции KeepAlive, которые Вы указываете, таким образом, Вы могли бы хотеть добавить эту команду к inittab или изучить daemontools пакет или эквивалент Вашего дистрибутива, так, чтобы это всегда запустилось на начальной загрузке и было перезапущено, когда это выходит по некоторым причинам из другого затем завершения работы системы (или Вы могли выполнить его из сценария оболочки, что циклы бесконечно, но init или daemontools являются более чистыми решениями).

18
ответ дан 2 December 2019 в 21:20
  • 1
    Это почти работает. Я могу соединиться со своим компьютером, но я могу сделать это только когда I' m вошел в систему сервер. Я хотел бы соединиться через тот порт отовсюду. –  klew 29 June 2009 в 20:59
  • 2
    Если Вы добавляете server' s общедоступный адрес или подстановочный знак к определению перенаправления портов (-R 111.222.333.444:8090:localhost:22 или-R *:8090:localhost:22) затем это может работать, хотя такая вещь может быть отключена на сервере. Если сервер является тем, Вы управляете, то удостоверяетесь, что опция GatewayPorts включена в sshd_config. –  David Spillett 30 June 2009 в 00:06

Причина Вы не можете сделать этого, состоит в том, потому что Вы пробуете к порту передачи 22 на локальном компьютере для портирования 8090 на удаленном сервере, и что-то уже работает на порте 22 на локальном сервере. Главным образом вероятно, у Вас есть выполнение сервера SSH. Можно зафиксировать это путем изменения 22 на другое значение. Можно проверить, чтобы видеть, свободен ли порт путем выполнения:

# netstat -lep --tcp

Это перечисляет все сокеты слушания, поэтому если порт не перечислен, то это свободно.

8
ответ дан 2 December 2019 в 21:20

Я использую команду lsof -i: PortNumber, чтобы проверить, свободен ли порт:

# lsof -i :2272

если порт свободен, вы ничего не увидите в выводе.

3
ответ дан 2 December 2019 в 21:20

У меня была та же проблема, и я запустил

$ ps aux | grep ssh

Я обнаружил, что sshd работает в фоновом режиме, поэтому я прервал процесс, я хочу только ssh на другую машину, а не на мою машину

$ sudo служба sshd остановить

0
ответ дан 28 July 2020 в 13:50

Теги

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