Использование обратного SSH-туннелирования за один шаг вместо двух (с -X)

Принятие Вас действительно проверяло, что 'кошка/proc/sys/net/ipv4/ip_forward' возвращается '1', как это должно...

Я также посмотрел бы на попытку:

for i in /proc/sys/net/ipv4/conf/*/rp_filter; do echo 0 > $i; done
3
18.08.2015, 18:35
2 ответа

В системе нет такого средства - потому что такая логика действительно принадлежит демону. Однако, если вы не можете изменить данный демон, вы можете обойти его, создав простую единицу измерения, которая проверит существование файла и создаст соответствующую переменную среды, а также вместо добавления «EnvironureFile =» к вашей единице измерения. Также добавьте зависимость, чтобы убедиться, что модуль всегда выполняется после модуля, который создает переменные среды.

-121--125323-

Hmm, выглядит так, будто bash по-прежнему не соответствует обозначению префикса, таким образом,

$ < /etc/passwd while read line; do echo $line; done
bash: syntax error near unexpected token `do'

в то время как zsh допускает это перенаправление до цикла во время .

-121--63661-

Почему это решение с помощью ProxyCommand не работает для пересылки X11? Я думаю, что вы можете напрямую связаться с компьютером мамы с помощью пересылки X11, используя следующую конфигурацию.

Host mum
ProxyCommand ssh -q -W localhost:1993 login@vps0
ForwardX11 yes
4
27.01.2020, 21:14

Если вы понимаете, что происходит в пересылке X11, вы поймете, что это не так просто, как описано в ответе от @yaegashi. Переадресация X11 создает еще один слой под ssh, и его нельзя соединить в цепочку, как обычные потоки данных терминала. Но вы можете сделать это, используя переадресацию портов:

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

sshx () {
    # create the tunnel from vps0 to your host
    sudo ssh -Nn vps0 -L 3991:vps0:1993 &
    sleep 1s
    PID=$!
    # connect to localhost on forwrded port
    ssh localhost -XYC -p3991
    sudo kill $PID
}

Надеюсь, это сработает для вас

2
27.01.2020, 21:14

Теги

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