Я обычно открываю туннель SSH для доступа к службе, работающей на удаленной машине: /usr/bin/ssh -L portA:localhost:portB remote.host.com -N & . Проблема, с которой я сталкиваюсь сейчас, заключается в том, что в отличие от обычно, мне нужен доступ к сервису от имени другого пользователя. Когда я SSH к remote.host.com и пытаюсь получить доступ к сервису, используя sudo -u userX localhost:portB , он работает нормально, так как у меня есть разрешения для этого пользователя.

userX не существует на моей локальной машине, и я хочу иметь доступ ко всему, к чему я могу получить доступ на удаленном хосте, прямо с моей локальной машины. Есть ли способ сделать это?

PS: я могу sudo как userX но у меня нет их пароля (и не должен его иметь). Я хотел бы быть более точным, но мое понимание модели разрешений Linux немного нечетко со всей справедливости.

1 ответ1

1

Сгенерируйте пару ключей на локальном компьютере для userX (ssh-keygen), ssh на удаленный сервер и добавьте открытый ключ в список авторизованных ключей. Затем sudo в конфигурационном файле ssh и раскомментируйте аутентификацию с открытым ключом, как разрешено. Тогда не стоит спрашивать о пароле.

Старайтесь не блокировать себя. Сначала прочитайте несколько документов, если вы не уверены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .