Автоматизация операции монтирования, которая требует пользовательского ввода

Я хочу смонтировать каталог на файловом сервере при запуске. Это моя запись в /etc/fstab:

# mount the fileserver
https://fsrv.company/ /mnt/fileserver davfs user,auto 0 0

Монтаж вручную с помощью mount /mnt/fileserver работает отлично. Однако из-за устаревшего сертификата это выдает приглашение, на которое мне всегда приходится отвечать да:

/sbin/mount.davfs: the server certificate does not match the server name
/sbin/mount.davfs: the server certificate is not trusted
[...]
Accept certificate for this session? [y,N] y

Это устройство должно быть установлено при запуске Ubuntu (из-за auto опция). Однако устройство не смонтировано, возможно, из-за требуемого ввода. Владелец файлового сервера не будет обновлять свой сертификат.

Как я могу автоматизировать этот процесс, чтобы устройство монтировалось при запуске с ответом всегда y\n?

РЕДАКТИРОВАТЬ: я загрузил и поместил сертификат в .davfs2/certs/ и отредактировал запись в .davfs2 / davfs2.conf (как намекнул ниже @Oli), но интерактивный ввод остается.

4 ответа

Решение

В моем случае я использовал код, выделенный Oli выше, а затем использовал опцию trust_server_cert в конфигурации dav2fs.

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

Так редактировать /etc/davfs2/davfs2.conf и добавьте строку, которая выглядит следующим образом:

trust_server_cert        /etc/davfs2/certs/my.selfsigned.cert.pem

Это позволило мне смонтировать самоподписанный веб-сервер OwnCloud, даже если хост сертификата не совпадал.

Не проще ли будет решить проблему доверия и установить сертификат?

  1. Загрузите сертификат (спасибо Lasse Halberg Haarbye на SuperUser)

    openssl s_client -connect HOSTNAME:443 -showcerts </dev/null 2>/dev/null | openssl x509 -outform PEM > certificate.pem
    
  2. Скопируйте сертификат в /etc/davfs2/certs/

    sudo cp certificate.pem /etc/davfs2/certs/
    

Это должно решить проблему напрямую.

Надлежащим способом решения этой проблемы будет изменение CN (идентификационная информация) сертификата сервера, чтобы установить его для вашего домена (в данном случае fsrv.company).

Однако вы можете обойти это, выполнив гетто, добавив в загрузочную команду (например, в Ubuntu, которая будет Startup Applications) следующее:

echo y | mount /mnt/fileserver

Это в основном "автоматически примет" ошибку в сертификате для вас.

Я столкнулся с той же проблемой, но нашел другое решение. Я просто установил пакет ca-Certificates, потому что мой сертификат был подписан официальным CA: Terena.

/sbin/mount.davfs: the server certificate is not trusted
  issuer:      TERENA, Amsterdam, Noord-Holland, NL
  subject:     Domain Control Validated
  identity:    owncloud-mshe.univ-fcomte.fr
  fingerprint: 0e:5f:b4:02:c2:a7:d7:7f:8b:ef:9c:06:25:0c:c0:1f:d4:38:83:1d

Решение:

apt install ca-certificates
Другие вопросы по тегам