У Вас может быть больше чем один ~/.ssh/config файл?

Что Пользовательская Изоляция настроена для Вашего FTP-сайта По умолчанию. Можно отослать статью Hosting Multiple FTP Sites with FTP User Isolation (IIS 6.0) и Изолирующий пользователей FTP (IIS 6.0)

Править

Если у Вас уже есть FTP-сайт, и Вы не знаете режим изоляции для него, можно открыть файл metabase.xml от C:\windows\system32\inetsrv и искать тег UserIsolationMode и проверить его значение.

Режим наличия FTP-сайта как:

Не изолируйте пользователей (это - то же как единственный режим, доступный в IIS 5.0)--------->, будет иметь UserIsolationMode set to 0

Изолируйте пользователей (это применимо для локальных, а также пользователей домена)----------->, будет иметь UserIsolationMode set to 1

Изолируйте пользователей, использующих Active Directory (также названный режимом изоляции Пользователя Active Directory, применимый только для Пользователей Active Directory)-----> будет иметь UserIsolationMode set to 2

Читать дальше: http://blogs.msdn.com/b/saurabh_singh/archive/2007/10/04/troubleshooting-ftp-related-issues-on-iis-6-0.aspx#ixzz0sUs4xC7N

83
задан 31 March 2012 в 21:15
8 ответов

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

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

Однако, как бы вы ни подходили к этому, вам придется объединять отдельные файлы в один файл извне файла.

$ cat ~/.ssh/config_* >> ~/.ssh/config

примечание: перезаписать : > vs append: >>

Обновление за декабрь 2017 г .:

Начиная с версии 7.3p1 и выше, есть опция «Включить». Это позволяет вам включать файлы конфигурации.

Include
    Include the specified configuration file(s).  Mul‐
    tiple pathnames may be specified and each pathname
    may contain glob(3) wildcards and, for user config‐
    urations, shell-like “~” references to user home
    directories.  Files without absolute paths are
    assumed to be in ~/.ssh if included in a user con‐
    figuration file or /etc/ssh if included from the
    system configuration file.  Include directive may
    appear inside a Match or Host block to perform con‐
    ditional inclusion.
54
ответ дан 28 November 2019 в 19:25

Я бы также использовал cat config_ *> config для генерации всей конфигурации. Но я бы не стал использовать для этого puppet / cfengine и т. Д., Если их еще нет (кстати: почему бы не использовать систему управления конфигурациями ???).

Я бы сгенерировал пакет (deb, rpm) и поместите его в локальный репозиторий. А в скрипте postinst кошка генерирует ваш config. Возможно, вы также включите локальную папку ... Преимущество в том, что обновления ssh / config активируются ежедневно во время работы cron-apt & Co.

2
ответ дан 28 November 2019 в 19:25

Вы можете указать текущий файл конфигурации для использования в параметре ssh следующим образом:

ssh -F /path/to/configfile

Похоже, это единственный способ.

53
ответ дан 28 November 2019 в 19:25

Я лично использую эти команды для компиляции конфигурации ssh:

alias compile-ssh-config='echo -n > ~/.ssh/config && cat ~/.ssh/*.config > ~/.ssh/config'
alias ssh='compile-ssh-config && ssh'
# (This will get used by other programs depending on the ~/.ssh/config)
# (If you need you can run the compile-ssh-config command via cron etc.)

или:

alias compile-ssh-config='echo -n > ~/.ssh/config-compilation && cat ~/.ssh/*.config > ~/.ssh/config-compilation'
alias ssh='compile-ssh-config && ssh -F ~/.ssh/config-compilation'
# (This is saver and won't over write an existing ~/.ssh/config file)

, потому что:

alias ssh='ssh -F <(cat .ssh/*.config)'

не работает для меня, возвращаясь:

ssh: Can't open user config file /dev/fd/63: Bad file descriptor

Надеюсь, это будет из любая помощь.

17
ответ дан 28 November 2019 в 19:25

Вы можете использовать Makefile в ~ / .ssh :

    config: config.in config.app.in
        > $@
        (for f in $+; do cat $$f; echo; done) | sed '$$ d' >> $@

    config.app.in:
        (echo "# Generated with foobar.sh."; \
            foobar.sh) > $@
    .PHONY: config.app.in

Затем переместите существующий config в config.in и запустите make для создания конфигурации .

0
ответ дан 28 November 2019 в 19:25

Начиная с ssh 7.3 (выпущенного 1 августа 2016 г.), доступна директива Include .

Include : включение указанного файла (файлов) конфигурации ). Множественный путь имена могут быть указаны, и каждый путь может содержать glob подстановочные знаки и ссылки на домашние каталоги пользователей в виде "~". Предполагается, что файлы без абсолютных путей находятся в ~ / .ssh . An Директива Include может появиться внутри блока Match или Host для выполнить условное включение.

(Вот ссылка на отчет об устраненной ошибке, который также включает исправление: https://bugzilla.mindrot.org/show_bug.cgi?id=1585#c24 )

36
ответ дан 28 November 2019 в 19:25

Я играл с концепцией каталога config.d для организации моей конфигурации. Итак, чтобы добавить к вышеупомянутой кучке вариантов, вот что у меня работало.

Структура каталогов похожа на

~/.ssh/config.d
├── system_1
├── system_2
├── system_3
├── personal_boxen
├── git_things
├── random
└── rubbish

. Функция, которая создает ~ / .ssh / config и живет в конфигурации запуска моей оболочки, выглядит следующим образом

sshMakeConfig() {
    echo '# AUTOGENERATED by sshMakeConfig()' > ~/.ssh/config
    for i in ~/.ssh/config.d/*
        do echo "#${i}" | tee -a ~/.ssh/config
        cat ${i} >> ~/.ssh/config
    done
}

При желании добавьте sshMakeConfig в конец ваш run-config, если вы хотите обеспечить новую конфигурацию в каждом сеансе оболочки

Каждый раз, когда мне нужно перекомпилировать мой ~ / .ssh / config, я делаю это, выполняя sshMakeConfig в некоторой форме (напрямую , источник моей конфигурации запуска или запуск новой оболочки)

0
ответ дан 28 November 2019 в 19:25

вы должны использовать параметр «Включить» над всем тегом Host в файле ~/.ssh/config. иначе ssh не разрешит ваши включения.

Включить ~/.ssh/config-*

Хост-туннель Имя хоста database.example.com ....

1
ответ дан 7 November 2020 в 05:27

Теги

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