Поэтому я пытаюсь сделать что-то относительно простое в теории, но мой вариант использования, похоже, трудно найти, так как большинство прокси-серверов, которые я нахожу в Интернете, касается настройки прокси для вашего браузера через туннель SSH.
То, что я хотел бы сделать, это настроить подключенный диск на моем Mac, который указывает на окно Linux, к которому у меня есть доступ SSH. Я нашел некоторые полезные ресурсы в Интернете , включая этот , в котором автор рекомендует что - то вроде:
sudo ifconfig lo0 127.0.0.2 alias up
sudo ssh -NL 127.0.0.2:139:localhost:139 \
-NL 127.0.0.2:445:localhost:445 \
user@ssh-host
Из того, что я понимаю, это выглядит хорошо ... Тем не менее, моя установка только немного сложнее. Это предполагает, что у вас есть прямой доступ SSH к коробке. Моя ситуация такова, что я подключаюсь к своей машине через другую машину. Итак, мой ~/.ssh/config выглядит следующим образом:
Host *.dev
User jmurray
IdentityFile ~/.ssh/my_dev_identity_file
ProxyCommand ssh -A proxy_box nc %h %p
Итак, когда я зайду в jmurray.dev
(окно taget linux), меня направят через сервер proxy_box
. Я должен упомянуть, что эта конфигурация сети находится вне моего контроля, поэтому, пожалуйста, не предлагайте изменения самой конфигурации сети.
Итак, из вышеупомянутого урока первая команда работает нормально (конечно), но вторая команда:
sudo ssh -NL 127.0.0.2:139:localhost:139 \
-NL 127.0.0.2:445:localhost:445 \
jmurray@jmurray.dev
ошибки с:
sh: Could not resolve hostname jmurray.dev: nodename nor servname provided, or not known
Итак, я только предполагаю, что он не читает мой файл конфигурации, когда я делаю этот запрос. Итак, я решил передать свои конфигурации через командную строку с немного измененной версией:
sudo ssh -NL 127.0.0.2:139:localhost:139 \
-NL 127.0.0.2:445:localhost:445 \
jmurray@jmurray.dev \
-o 'User jmurray' \
-o 'IdentityFile ~/.ssh/my_dev_identity_file' \
-o 'ProxyCommand ssh -A proxy_box nc %h %p'
но тогда я получаю отдельную ошибку:
Permission denied (publickey,gssapi-with-mic).
ssh_exchange_identification: Connection closed by remote host
Так... Вот где я застреваю. Я чувствую, что это должно быть возможно. Если я могу выполнить команду ssh в поле за один раз с локального компьютера, я чувствую, что можно настроить туннель одной командой с локального компьютера. А поскольку proxy_box
является общей машиной, мне бы очень хотелось держаться подальше от любых решений, которые требуют, чтобы я выступал в качестве пользователя root на этой машине.
Заранее благодарю за любую помощь!! Это высоко ценится!