Загрузить файлы в «/»
This commit is contained in:
+79
@@ -0,0 +1,79 @@
|
|||||||
|
et -euo pipefail
|
||||||
|
|
||||||
|
USER_NAME="lobanov_v"
|
||||||
|
REPO_URL="https://git.lobanoffhomecloud.ru/lobanov_v/easy_ssh---zabbix_agent2.git"
|
||||||
|
CLONE_DIR="/tmp/easy_ssh---zabbix_agent2"
|
||||||
|
|
||||||
|
echo "==> Создание пользователя..."
|
||||||
|
|
||||||
|
if ! id "$USER_NAME" &>/dev/null; then
|
||||||
|
useradd -m -s /bin/bash "$USER_NAME"
|
||||||
|
echo "Пользователь $USER_NAME создан."
|
||||||
|
else
|
||||||
|
echo "Пользователь $USER_NAME уже существует."
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Добавление пользователя в группу sudo..."
|
||||||
|
|
||||||
|
if getent group sudo >/dev/null; then
|
||||||
|
usermod -aG sudo "$USER_NAME"
|
||||||
|
elif getent group wheel >/dev/null; then
|
||||||
|
usermod -aG wheel "$USER_NAME"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Настройка sudo без пароля..."
|
||||||
|
|
||||||
|
echo "$USER_NAME ALL=(ALL:ALL) NOPASSWD:ALL" > /etc/sudoers.d/$USER_NAME
|
||||||
|
chmod 440 /etc/sudoers.d/$USER_NAME
|
||||||
|
visudo -cf /etc/sudoers.d/$USER_NAME
|
||||||
|
|
||||||
|
echo "==> Установка git..."
|
||||||
|
|
||||||
|
if ! command -v git >/dev/null; then
|
||||||
|
apt-get update
|
||||||
|
apt-get install -y git
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "==> Клонирование репозитория..."
|
||||||
|
|
||||||
|
rm -rf "$CLONE_DIR"
|
||||||
|
git clone "$REPO_URL" "$CLONE_DIR"
|
||||||
|
|
||||||
|
echo "==> Настройка SSH-ключей..."
|
||||||
|
|
||||||
|
mkdir -p "/home/$USER_NAME/.ssh"
|
||||||
|
|
||||||
|
cp "$CLONE_DIR/authorized_keys" "/home/$USER_NAME/.ssh/authorized_keys"
|
||||||
|
|
||||||
|
chmod 700 "/home/$USER_NAME/.ssh"
|
||||||
|
chmod 600 "/home/$USER_NAME/.ssh/authorized_keys"
|
||||||
|
|
||||||
|
chown -R "$USER_NAME:$USER_NAME" "/home/$USER_NAME/.ssh"
|
||||||
|
|
||||||
|
echo "==> Замена sshd_config..."
|
||||||
|
|
||||||
|
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak.$(date +%F-%H%M%S)
|
||||||
|
|
||||||
|
cp "$CLONE_DIR/sshd_config" /etc/ssh/sshd_config
|
||||||
|
|
||||||
|
echo "==> Проверка конфигурации SSH..."
|
||||||
|
|
||||||
|
sshd -t
|
||||||
|
|
||||||
|
echo "==> Перезапуск службы SSH..."
|
||||||
|
|
||||||
|
if systemctl list-unit-files | grep -q "^ssh.service"; then
|
||||||
|
systemctl restart ssh
|
||||||
|
elif systemctl list-unit-files | grep -q "^sshd.service"; then
|
||||||
|
systemctl restart sshd
|
||||||
|
else
|
||||||
|
echo "Не удалось определить имя службы SSH."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo
|
||||||
|
echo "========================================"
|
||||||
|
echo "Настройка завершена успешно."
|
||||||
|
echo "Пользователь: $USER_NAME"
|
||||||
|
echo "Репозиторий: $REPO_URL"
|
||||||
|
echo "========================================"
|
||||||
Reference in New Issue
Block a user