Я использую систему RHEL 5, подключаюсь к другой системе RHEL 5. Я создал туннель SSH с помощью следующей команды: ssh -2-4 -f -x -N -L 1527: удаленный_узел: 1527 пользователь @ удаленный_хост
(remote_host - тот же сервер)
Я ввожу пароль и сразу же возвращаюсь в командную строку. Я быстро бегаю ps axu | grep ssh ', чтобы проверить и увидеть процесс для только что выполненной команды ssh:
dashbrd 17861 0.0 0.1 68796 13224 ? Ss 12:44 0:00 ssh -2 -4 -f -x -N -L 1527:remote_host:1527 user@remote_host
Я предполагаю, что мой туннель установлен успешно.
Затем я тестирую с помощью telnet remote_host 1527, но мне не удается подключиться; просто зависает несколько минут, прежде чем я его убью. Я пробую тестировать telnet с разными пользователями на локальном хосте (включая имя пользователя, которое я использовал для создания туннеля), и результат тот же - нет соединения.
Цель этого туннеля - подключиться к Oracle Listener. Итак, я запускаю tnsping утилита; который также не может подключиться. (И да, у меня правильно настроено соединение с базой данных в файле tnsnames.ora.)
Что я сделал не так?
Вы не используете telnet для remote_host, вы используете telnet для localhost. Если бы вы могли подключиться напрямую к remote_host, вам не понадобился бы порт вперед.
telnet localhost 1527
На странице руководства ssh:
-L [bind_address:]port:host:hostport Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side. This works by allocating a socket to listen to port on the local side, optionally bound to the specified bind_address. Whenever a con- nection is made to this port, the connection is forwarded over the secure channel, and a connection is made to host port hostport from the remote machine. Port forwardings can also be specified in the configuration file. IPv6 addresses can be spec- ified with an alternative syntax: [bind_address/]port/host/hostport or by enclosing the address in square brackets. Only the superuser can forward privileged ports. By default, the local port is bound in accordance with the GatewayPorts setting. However, an explicit bind_address may be used to bind the connection to a specific address. The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.