У меня есть приложение Java, работающее на tomcat8. В этом приложении есть способ загрузки общедоступного ssh-ключа, который затем добавляется в список authorized_keys локальных пользователей (ограничен scp в одной папке), чтобы они могли использовать scp на сервере, используя это одно удаленное имя пользователя.
Проблема здесь в том, что tomact требует права записи в файл authorized_keys. Однако sshd требует, чтобы разрешения были chmod 600.
Как я могу включить tomcat для записи в файл authorized_keys и при этом иметь правильные разрешения для запуска sshd. В качестве альтернативы я подумал о том, чтобы просто использовать пользователя tomcat в качестве пользователя scp. однако это кажется плохой идеей.
Спасибо за помощь Бенедикт
--- РЕДАКТИРОВАТЬ --- Я обнаружил, что могу дать Tomcat права на запись, отключив StrictMode в sshd. Я не уверен, хорошая ли это идея?
У вас может быть Tomcat для записи в место, доступное для tomcat, и отдельный корневой процесс, который отслеживает это местоположение, выполняет любую возможную проверку, а затем объединяет его в локальный авторизованный ключевой файл.
Я надеюсь, что у вас действительно хорошая аутентификация в вашем приложении tomcat. Пожалуйста, подумайте о другом механизме (например, LDAP) для управления корневым доступом к хосту.