Как смонтировать Google Диск без использования ключницы?

Вопрос или проблема

Мне нужно иметь возможность перезагрузить удаленный компьютер из сеанса ssh. При загрузке компьютер запускает несколько приложений, которые должны иметь доступ к моему Google Drive. Если я нахожусь на удаленном местоположении, я могу разблокировать связку ключей с клавиатуры, и все работает нормально. Но если он перезагружается и меня там нет, программы, которые выполняют скрипты, выполняющие команды gio, терпят неудачу. Как я могу получить доступ к своему Google Drive? Команда gio mount возвращает “доступ запрещен”. Я мог бы либо разблокировать свою связку ключей из сеанса ssh, либо предоставить gio учетные данные каким-то другим способом.
Я нашел bash-скрипт, который, кажется, делает что-то с моей связкой ключей (он действительно убирает всплывающие диалоги), но это не решает проблему с Google Drive.
P.S. Я бы предпочел не настраивать компьютер так, чтобы он не имел пароля (что, я полагаю, было бы другой альтернативой)

.

Ответ или решение

Для решения задачи, связанной с монтированием Google Drive без использования keyring, в условиях SSH-сессии и автоматического запуска приложений, рассмотрим пошаговый подход, который может удовлетворить вашим требованиям. Важно найти способ обойти необходимость ручного ввода пароля, сохраняя безопасность и функциональность.

Шаг 1: Настройка доступов через gdrive или rclone

  1. Использование rclone:
    Rclone — это мощный инструмент, который позволяет работать с различными облачными хранилищами, в том числе и с Google Drive. Чтобы использовать rclone для автоматического монтирования Google Drive, проделайте следующие шаги:

    • Установите rclone через пакетный менеджер вашей системы (например, sudo apt install rclone в Ubuntu).
    • Настройте конфигурацию, запустив rclone config и следуя инструкциям для добавления нового удаленного хранения. Выберите Google Drive, и следуйте шагам для аутентификации через командную строку.
    • Используйте OAuth-аутентификацию и выберите физический файл для хранения токенов аутентификации. Данный файл можно безопасно хранить и использовать для автоматического подключения.
  2. Создание скрипта для автоматического монтирования:
    Создайте скрипт, который будет использоваться для монтирования Google Drive в определенную точку монтирования при загрузке системы.

    #!/bin/bash
    rclone mount mygoogledrive: ~/my_mounted_google_drive/ --vfs-cache-mode writes &

    В этом скрипте mygoogledrive — это имя конфигурации, созданной в rclone, а ~/my_mounted_google_drive/ — это путь, куда будет монтироваться Google Drive.

Шаг 2: Автоматизация процесса при старте системы

  1. Добавление скрипта в autostart:
    Убедитесь, что ваш скрипт для монтирования запускается при старте системы. Вы можете добавить этот скрипт в crontab, используя редактор crontab -e, добавив строку:

    @reboot /path/to/your/mount_script.sh

    или создать systemd сервисный файл, чтобы управлять процессом через systemd.

  2. Проверка работы:
    После настройки и перезагрузки системы убедитесь, что ваша точка монтирования доступна и приложения корректно работают с ней.

Преимущества и Заключение

Использование rclone позволяет обойти ограничение, связанное с keyring, благодаря хранению требуемых аутентификационных токенов в конфигурационном файле. Данный метод добавляет необходимую гибкость для удалённого управления и автоматизации, при этом оставаясь в пределах безопасных практик управления доступами. Метод хорошо подходит для сценариев, где необходимо обеспечить доступ к облачным ресурсам без физического доступа пользователя для ввода паролей.

Оцените материал
Добавить комментарий

Капча загружается...