Я пытаюсь просмотреть вики, которая работает на сервере внутри одного домена из другого домена. Вики доступна только в локальной сети, но мне нужно просматривать ее из другой локальной сети, к которой я подключаюсь через туннель SSH ...
Вот моя установка и шаги, которые я сделал до сих пор:
~.ssh/confing
на wikihost
:
Host gateway
User kisteuser
Port 443
Hostname gateway.companydomain.com
ProxyCommand /home/myuser/bin/ssh-https-tunnel %h %p
# ssh-https-tunnel:
# http://ttcplinux.sourceforge.net/tools/stunnel
Protocol 2
IdentityFile ~/.ssh/key_dsa
LocalForward 11069 localhost:11069
Host server1
User kisteuser
Hostname localhost
Port 11069
LocalForward 8022 server1:22
LocalForward 17001 server1:7100
LocalForward 8080 www-proxy:3128
RemoteForward 11069 localhost:22
из wikihost
myuser@wikihost: ssh -XC -t gateway.companydomain.com ssh -L11069:localhost:22 server1
на другом терминале:
ssh gateway.companydomain.com
Теперь на моем корпоративном домене я хочу запустить firefox и просматривать вики на wikihost
. Я сделал:
kisteuser@kiste.companydomain.com ~ $ ssh gateway
Have a lot of fun...
kisteuser@gateway ~ $ ssh -D 8383 localhost
user@localhost's password:
user@wikiserver:~>
Мой .ssh/config
с той стороны выглядит так:
host server1
localforward 11069 localhost:11069
host localhost
user myuser
port 11069
host wikiserver
forwardagent yes
user myuser
port 11069
hostname localhost
Теперь я запустил firefox на сервере под названием gateway
, и отредактировал настройки прокси для использования SOCKSv5, указав, что прокси должен быть gateway
и использовать порт 8383 ...
kisteuser@gateway ~ $ LANG=C firefox -P --no-remote
И теперь я получаю следующее сообщение об ошибке в Терминале wikiserver
:
myuser@wikiserver:~> channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
channel 3: open failed: connect failed: Connection refused
Смущенный? Я тоже ...
Пожалуйста, помогите мне понять, как правильно строить туннели и просматривать вики по протоколу SOCKS.
Мне удалось просмотреть вики на викисервере со следующими изменениями:
host wikiserver
forwardagent yes
user myuser
port 11069
hostname localhost
localforward 8339 localhost:8443
Теперь, когда я ssh gateway
Я запускаю Firefox, перехожу на localhost: 8339 и попадаю на стартовую страницу вики, которая обслуживается через порт 8443.
Теперь я спрашиваю себя, действительно ли нужны SOCKS? Может кто-нибудь уточнить это?
Чтобы настроить SOCKS так, как вы хотите, вам нужно запустить ssh -D 8383
команда на компьютер, на котором вы хотите запустить браузер, и подключить его к машина, имеющая доступ к вики. Вы также должны использовать localhost:8383
в качестве адреса прокси, потому что ssh -D
по умолчанию слушает только на localhost
как говорится на странице руководства:
По умолчанию локальный порт привязан в соответствии с настройкой GatewayPorts. Однако явный bind_address может использоваться для привязки соединения к определенному адресу.
Так что если gateway
имеет доступ к wikihost
, но вы хотите запустить свой браузер на kiste
, вы должны запустить firefox на kiste
, настройте его с "localhost: 8383" в качестве прокси-сервера SOCKS, а также запустите ssh -D 8383 gateway
из kiste
.
Еще несколько примечаний, о которых следует помнить:
Попробуйте запустить все команды ssh с помощью -v
. Это покажет вам все запрошенные форварды, и вы сможете увидеть, какой именно из них не работает.
Я бы также порекомендовал удалить туннели, которые вам действительно не нужны, чтобы ситуация была менее запутанной.
Сообщение об ошибке, которое вы видите, срабатывает, когда что-то пытается подключиться к одному концу статический SSH-туннель (который вы создаете с помощью -L
или -R
), но SSH не может подключиться к другому концу туннеля.