60 lines
1.6 KiB
Bash
60 lines
1.6 KiB
Bash
#!/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." |