Передача доступа к подмножеству ssh-агента identitites

Я загружаю баланс 4 сервера торнадо этой конфигурацией.

upstream frontends {
    server 127.0.0.1:8888;
    server 127.0.0.1:8889;
    server 127.0.0.1:8890;
    server 127.0.0.1:8891;
}
server { 
    listen 80;
    location / {
        proxy_pass http://frontends;
    }
}

Запросы распределяются среди каждого сервера в списке "frontends" и если Вы снизитесь, то он будет проигнорирован до него достижимый.

В Вашем примере у Вас могла быть каждая Ваша военная часть дескриптора трафика в / если они каждый слушают на различном порте.

Проверьте восходящую документацию модуля для получения дополнительной информации.

6
задан 19 March 2013 в 02:54
4 ответа

Я не понимаю проблемы. Если вы установите и экспортируете $ SSH_AUTH_SOCK в соответствующее значение, тогда программы, вызывающие ssh, не нуждаются в каких-либо изменениях. Конечно, цель, например, вызова rsync должна быть совместима с выбранным ssh-агентом.

-2
ответ дан 3 December 2019 в 00:32

Я реализовал ssh-agent-filter для себя, использую его с:

$ afssh -c id_bluecorp -- server1.bluecorp.com
$ afssh -c id_bluecorp -- server2.bluecorp.com
$ afssh -c id_redcorp -- server42.redcorp.com

Он уже в Debian (и Ubuntu).

6
ответ дан 3 December 2019 в 00:32

Существует патч для openssh, который перенаправляет ssh-agent, указанный в переменной среды SSH_AUTH_SOCK_FORWARD , на удаленный хост и использует обычный SSH_AUTH_SOCK окр. var. агент для аутентификации на хосте.

Это означает, что вы можете использовать фильтр ssh-agent, чтобы отфильтровать только тот ключ, который вы хотите получить на удаленной машине, и изменить env. var из фильтра ssh-agent в SSH_AUTH_SOCK_FORWARD , оставив все свои ключи в SSH_AUTH_SOCK агенте.

Вы можете найти патч здесь:

https: //bugzilla.mindrot .org / show_bug.cgi? id = 1937

Надеюсь, он будет применен к openssh.

1
ответ дан 3 December 2019 в 00:32

Вы можете использовать несколько агентов и указать каждый конкретно с помощью IdentityAgent и добавить нужные ключи с помощью IdentityFile и установить AddKeysToAgent на да. Вам нужно будет указать сокет unix для каждого ssh-agent для привязки с опцией -a. Конечно, вы также можете добавить ключи вручную с помощью ssh-add после создания каждого из них.

Сначала создайте свой агент:

ssh-agent -a ~/.ssh/redcorp-agent

Затем в вашем .ssh/config есть что-то вроде этого:

Host redcorp* *.redcorp.com
IdentityFile ~/.ssh/redcorp.pem
IdentityAgent ~/.ssh/redcorp-agent
AddKeysToAgent yes
ForwardAgent yes
3
ответ дан 17 April 2020 в 01:28

Теги

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