#!/bin/bash set -e # Создаем структуру проекта mkdir -p tor-ssh cd tor-ssh # Создаем Dockerfile cat > Dockerfile <<- EOF FROM alpine:3.18 RUN apk add --no-cache \\ tor \\ bash # Настройка Tor для проброса SSH RUN mkdir -p /var/lib/tor/ssh && \\ chmod 700 /var/lib/tor/ssh && \\ echo "HiddenServiceDir /var/lib/tor/ssh/" >> /etc/tor/torrc && \\ echo "HiddenServicePort 22 172.17.0.1:22" >> /etc/tor/torrc EXPOSE 22 CMD ["tor", "-f", "/etc/tor/torrc"] EOF # Создаем docker-compose.yml cat > docker-compose.yml <<- EOF version: '3.8' services: tor-ssh: build: . container_name: tor-ssh volumes: - tor_data:/var/lib/tor restart: unless-stopped volumes: tor_data: EOF # Запускаем проект echo "Сборка и запуск контейнера..." docker-compose up -d --build # Ждем, пока Tor сгенерирует onion-адрес echo "Ожидание генерации onion-адреса..." sleep 10 # Получаем onion-адрес ONION_ADDRESS=$(docker exec tor-ssh cat /var/lib/tor/ssh/hostname) if [ -z "$ONION_ADDRESS" ]; then echo "Ошибка: onion-адрес не был сгенерирован!" exit 1 fi echo "Onion-адрес для подключения: $ONION_ADDRESS" echo "Для подключения используйте:" echo "1. Через Tor: torify ssh ваш_пользователь@$ONION_ADDRESS" echo "2. Убедитесь, что SSH-сервер на хосте настроен и доступен на порту 22."