v3.1
This commit is contained in:
@@ -4,8 +4,9 @@
|
|||||||
# Использует autossh и systemd для обеспечения стабильного и постоянного соединения.
|
# Использует autossh и systemd для обеспечения стабильного и постоянного соединения.
|
||||||
#
|
#
|
||||||
# Использование:
|
# Использование:
|
||||||
# 1. Установка: sudo bash tunnel-manager.sh install
|
# 1. Запуск одной командой (автоустановка + меню): curl -s https://.../install_ssh_tunnel.sh | sudo bash
|
||||||
# 2. Запуск: sudo bash tunnel-manager.sh menu
|
# 2. Установка: sudo bash tunnel-manager.sh install
|
||||||
|
# 3. Запуск меню: sudo bash tunnel-manager.sh menu
|
||||||
#
|
#
|
||||||
|
|
||||||
# --- Глобальные переменные и конфигурация ---
|
# --- Глобальные переменные и конфигурация ---
|
||||||
@@ -108,6 +109,34 @@ load_vps_settings() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Функция отображения публичного ключа
|
||||||
|
show_public_key() {
|
||||||
|
echo -e "${BOLD}${CYAN}--- Публичный ключ для копирования на VPS ---${NC}"
|
||||||
|
if [ -f "/root/.ssh/id_rsa.pub" ]; then
|
||||||
|
echo -e "${GREEN}Ключ RSA:${NC}"
|
||||||
|
cat /root/.ssh/id_rsa.pub
|
||||||
|
echo ""
|
||||||
|
fi
|
||||||
|
read -p "Нажмите Enter для продолжения..."
|
||||||
|
}
|
||||||
|
|
||||||
|
# Функция проверки SSH подключения
|
||||||
|
check_ssh_connection() {
|
||||||
|
if ! load_vps_settings; then
|
||||||
|
log_message "Сначала необходимо настроить VPS (опция 1)." "$RED"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo -e "${CYAN}Проверка подключения к $VPS_USER@$VPS_HOST:$VPS_PORT...${NC}"
|
||||||
|
if timeout 10 ssh -p "$VPS_PORT" -o BatchMode=yes -o ConnectTimeout=5 "$VPS_USER@$VPS_HOST" "echo 'SSH Connection OK'" 2>/dev/null; then
|
||||||
|
echo -e "${GREEN}✓ SSH подключение работает${NC}"
|
||||||
|
return 0
|
||||||
|
else
|
||||||
|
echo -e "${RED}✗ SSH подключение не работает${NC}"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
# --- Основные функции ---
|
# --- Основные функции ---
|
||||||
|
|
||||||
# 1. Установка зависимостей и настройка системы
|
# 1. Установка зависимостей и настройка системы
|
||||||
@@ -882,21 +911,40 @@ main_menu() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
# --- Точка входа ---
|
# --- Точка входа ---
|
||||||
case "$1" in
|
# Главное изменение: если скрипт запущен без аргументов, выполняем автоматическую установку и запуск меню
|
||||||
install)
|
if [[ $# -eq 0 ]]; then
|
||||||
install_manager
|
echo -e "${BOLD}${CYAN}SSH Tunnel Manager v1.0${NC}"
|
||||||
;;
|
echo -e "Автоматический запуск установки и меню..."
|
||||||
menu)
|
|
||||||
|
# Проверяем, установлен ли уже скрипт
|
||||||
|
if [ -f "/usr/local/bin/tunnel-manager" ]; then
|
||||||
|
echo -e "${YELLOW}Менеджер уже установлен. Запуск меню...${NC}"
|
||||||
main_menu
|
main_menu
|
||||||
;;
|
else
|
||||||
*)
|
echo -e "${GREEN}Начинаем установку...${NC}"
|
||||||
echo -e "${BOLD}${CYAN}SSH Tunnel Manager v1.0${NC}"
|
install_manager
|
||||||
echo -e "Использование: sudo bash $0 {install|menu}"
|
echo -e "${GREEN}Установка завершена. Запуск меню...${NC}"
|
||||||
echo -e " ${BOLD}install${NC} - Устанавливает зависимости и копирует скрипт в /usr/local/bin/tunnel-manager"
|
main_menu
|
||||||
echo -e " ${BOLD}menu${NC} - Запускает интерактивное меню управления туннелями"
|
fi
|
||||||
echo ""
|
else
|
||||||
echo -e "Рекомендуемый первый запуск: ${BOLD}sudo bash $0 install${NC}"
|
case "$1" in
|
||||||
;;
|
install)
|
||||||
esac
|
install_manager
|
||||||
|
;;
|
||||||
|
menu)
|
||||||
|
main_menu
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo -e "${BOLD}${CYAN}SSH Tunnel Manager v1.0${NC}"
|
||||||
|
echo -e "Использование:"
|
||||||
|
echo -e " 1. Запуск одной командой (автоустановка + меню):"
|
||||||
|
echo -e " curl -s https://git.softuniq.eu/OpenDoor/vps_ssh_tunel/raw/branch/main/install_ssh_tunnel.sh | sudo bash"
|
||||||
|
echo -e " 2. Только установка: sudo bash $0 install"
|
||||||
|
echo -e " 3. Только меню: sudo bash $0 menu"
|
||||||
|
echo ""
|
||||||
|
echo -e "После установки можно использовать: sudo tunnel-manager menu"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
Reference in New Issue
Block a user