Почему SSH требует, но не заботится об адресе хоста при использовании файла SOCKET?

Как вы прямо спрашиваете о пакет -debuginfo , см. проверенную статью базы знаний RedHat Как я могу загрузить или установить пакеты debuginfo для систем RHEL? , в которой дополнительно содержится некоторая информация о том, как проверить свои подписки на RHN или каналы диспетчера подписок.

-1
18.07.2017, 15:01
2 ответа

Вы можете указать дополнительную конфигурацию на основе имен хостов для SSH через ~/.ssh/config, /etc/ssh/ssh_configи т. д. Хотя само имя хоста может не иметь значения при подключении через управляющий сокет, эти параметры применяются там, где это применимо:

$ cat ~/.ssh/config
Host foo
    LocalForward 8080 localhost:9000
$ ssh -fMS /tmp/hello localhost sleep 1d
muru@localhost's password:
$ ssh -fS /tmp/hello foo sleep 1d & sudo lsof -i :8080
[1] 6971
[sudo] password for muru:
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
ssh     6859 muru    8u  IPv6 148286      0t0  TCP ip6-localhost:http-alt (LISTEN)
ssh     6859 muru    9u  IPv4 148287      0t0  TCP localhost:http-alt (LISTEN)

Очевидно, что SSH применяет правила переадресации портов, которые я указал в ~/.ssh/config, даже несмотря на то, что он использует управляющий сокет. На самом деле перенаправление портов выполняется процессом, создавшим сокет :

.
$ pgrep -fa hello
6859 ssh -fMS /tmp/hello localhost sleep 1d
6971 ssh -fS /tmp/hello foo sleep 1d
3
28.04.2021, 23:58

Раздел, посвященный ssh -Sна справочной странице для ssh, отсылает читателей к разделам ControlMasterи ControlPathсправочной страницыssh_config(5 ). В свою очередь, в нем говорится

.

ControlMaster Enables the sharing of multiple sessions over a single network connection. [...] These sessions will try to reuse the master instance's network connection rather than initiating new ones, but will fall back to connecting normally if the control socket does not exist, or is not listening.

Таким образом, sshиспользует управляющий сокет, если это возможно, но в противном случае возвращается к обычному соединению. Для достижения нормального соединения требуется целевое имя хоста.

Кроме того, для ControlPathрекомендуется, чтобы его имя (шаблон )включало по крайней мере имя целевого хоста (%h), чтобы разные целевые хосты получали разные значения пути управления. Если вы просто слепо используете произвольное и другое значение имени хоста для каждого соединения, эта рекомендация не может быть применена.

1
28.04.2021, 23:58

Теги

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