Как дать контейнеру SSH без передачи ключа

Для доступа контейнера к приватному Git-репозиторию или серверу не обязательно монтировать внутрь `~/.ssh` и приватный ключ. При компрометации приложения файл можно прочитать и вывести наружу.

Безопаснее пробросить только Unix-сокет `ssh-agent`: контейнер получает возможность выполнять SSH-аутентификацию, но приватный ключ остаётся на хосте. Однако в rootless Docker UID внутри контейнера может не совпадать с UID пользователя на хосте, из-за чего `SSH_AUTH_SOCK` перестаёт работать напрямую.

Рабочая схема учитывает сопоставление пользователей и включает запуск процесса от non-root, read-only файловую систему и отказ от лишних Linux capabilities. Это снижает последствия возможного взлома контейнера, сохраняя доступ к SSH-сервисам без копирования секретного ключа.

Подпишись, тут про технолоджии.

P.S. Меня зовут Бедняков Артем, я разрабатываю backend-решения на Python любой сложности:

  • REST API и микросервисы;
  • агентные системы и AI-интеграции;
  • Telegram-боты и Mini Apps;
  • парсеры и автоматизация;
  • интеграции с внешними сервисами и API;
  • тестирование и CI/CD;
  • DevOps и развёртывание;
  • аудит и проверки безопасности.

Если вам нужна разработка или есть вопросы по реализации проекта — пишите мне в Telegram
Всегда рад обсудить задачу и помочь найти решение.

Также подписывайтесь на мой Telegram-канал IT POLICE, где я пишу о Python, backend-разработке, технологиях и кибербезопасности.