Как настроить пользователя SSH только для доступа к postgres и больше ничего не делать

Права доступа к файлам применяются на хосте. Файл по-прежнему необходимо сделать видимым извне; для этого вы используете SSH(через scp), и именно SSH запрашивает ваш пароль. Это происходит до того, как что-либо связано с целевым файлом; сервер SSH аутентифицирует подключающегося пользователя, и только после того, как это завершено (успешно ), он scpзадействован на целевом хосте и получен доступ к целевому файлу.

Если вам нужен доступ по SSH без пароля, вы можете настроить для этого ключи.

Между прочим, поскольку вы входите в систему как userна host, соответствующие разрешения для alpha.txtотносятся только к user. Если userявляется владельцем alpha.txt, alpha.txtдолжен быть доступен для чтения только его владельцу.

0
24.09.2020, 04:33
1 ответ

Добавьте ForceCommandв конфигурацию sshd _(, которую вы можете включить в блок сопоставления, чтобы он затрагивал только этого пользователя ), который запускает клиент (в вашем случаеpsql).

Кроме того, вы можете установить ограничение ForceCommand для файла authorized_keys, добавив перед ним command="...". Вероятно, вам также следует добавить туда флаг restrict, за которым следует pty.

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

1
18.03.2021, 23:02

Теги

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