Разрешения каталога ControlMaster

Функция ControlMaster в ssh позволяет использовать один и тот же канал для нескольких ssh -команд, см., Например, Как сохранить открытое ssh-соединение и использовать его из сценариев оболочки?

Чтобы использовать ControlMaster, я добавил эти строки в ~/.ssh/config:

Host example.com
  ControlMaster auto
  ControlPath ~/.ssh/sockets/%r@%h-%p
  ControlPersist 5m

Когда я запускаю ssh example.com, я получаю следующую ошибку:

$ ssh example.com
bind: No such file or directory
unix_listener: cannot bind to path: /home/peter/.ssh/sockets/peter@example.com-22.O2cv7vtsgMAFCav7

Чтобы это исправить, я могу запустить mkdir ~/.ssh/sockets:

$ mkdir ~/.ssh/sockets
$ ll ~/.ssh/sockets
total 8
drwxrwxr-x 2 peter peter 4096 Dec 28 17:51 ./
drwx------ 3 peter peter 4096 Dec 28 17:51 ../

Как видите, каталог ~/.ssh/sockets имеет разрешения rwxrwxr-w. Какими должны быть разрешения ~/.ssh/sockets? Должен ли sockets быть даже в ~/.ssh?

3
задан 28 December 2017 в 22:11

1 ответ

Вы можете поместить свой каталог sockets в любое удобное для вас место (при условии, что у вас есть соответствующие права для записи в него), но размещение его внутри .ssh кажется мне более разумной идеей (за исключением некоторых очень редких конкретных случаев). как у меня было однажды: путь был слишком длинным)

Поскольку .ssh уже должно быть чем-то вроде drwx------, права на .ssh/sockets могут быть такими же или более либеральными, это не окажет никакого влияния.

Но я не думаю, что это твоя проблема. Ваше сообщение об ошибке не соответствует вашему файлу конфигурации. Файл конфигурации имеет @ в ControlPath (и это нормально), но в сообщении об ошибке его нет.

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

PS: пожалуйста, используйте example.com, когда вам нужно фиктивное имя хоста для документирования

2
ответ дан 28 December 2017 в 22:11