На терабайтном OneDrive-хранилище накопилось достаточно много материалов, к которым хочу наладить оперативный доступ со домашних "тонких" устройств, чтобы можно было в потоковом режиме смотреть архивные видео, музыку, фото, добавлять, редактировать структуру папок, и пр.
На телефоне с этой задачей неплохо справляется WebDAV-клиент Solid Explorer.
Накануне настроил
rclone на домашних Ubuntu-машинах, скорость соединения с облачным диском приемлемая (порядка 20 МБит/с, при максимальных 100), можно работать почти как с локальным диском. Навигация быстрая, и мне не нужно вытаскивать гигабайты из хранилища, чтобы найти нужный фрагмент видеоурока или концерта.
Также расшарил папку через Сабму и смотрю свой контент на ТВ-приставке, это удобнее, чем через плагин Kodi.
Теперь
захотелось смонтировать onedrive через rsync на роутере Asus с прошивкой от padavan. Чтобы не включать ноутбук или сервер при просмотре с приставки, но больше из спортивного интереса

Ну чтобы совсем тонко было - благо, 80 Мб свободных есть в оперативной памяти роутера.
Для пробы скопировал в /tmp дистрибутив rclone для MIPS(LE) и запустил оттуда ./rclone config.
Ошибка выскочила при подтверждении access_token:
2018/10/17 09:17:19 Failed to query available drives: Get https://graph.microsoft.com/v1.0/me/drives: x509: certificate signed by unknown authority
- после того, как я ввёл ключ, полученный на другой машине, с браузером. В Ubuntu эта операция проходила спокойно.
Насколько я понимаю, сервер Microsoft не принял сертификат роутера. Подскажите, пожалуйста, что нужно прописать в этом урезанном Linuxе? Видимо, нужно сгенерировать SSL-сертификаты? или скопировать с Ubuntu из /etc/ssl?
Приветствие оболочки роутера:
BusyBox v1.24.2 (2017-10-01 15:23:46 MSK) built-in shell (ash)
ядро 3.4.113
OpenSSL, Samba на роутере есть, мне кажется, задача решаемая.
Содержимое /etc/ssl/openssl.cnf:
oid_section = new_oids
[ new_oids ]
################################################################################
[ ca ]
default_ca = CA_default # The default ca section
################################################################################
[ CA_default ]
dir = /etc/ssl/keys # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index # database index file.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/ca.crt # The CA certificate
serial = $dir/serial # The current serial number
crl = $dir/crl.pem # The current CRL
private_key = $dir/ca.key # The private key
RANDFILE = $dir/private/.rand # private random number file
x509_extensions = usr_cert # The extentions to add to the cert
unique_subject = no # Set to 'no' to allow creation of
# several certificates with same subject.
name_opt = ca_default # Subject Name options
cert_opt = ca_default # Certificate field options
default_days = 3653 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = md5 # which md to use.
preserve = no # keep passed DN ordering
policy = policy_match
# For the CA policy
[ policy_match ]
countryName = match
stateOrProvinceName = optional
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = match
# For the 'anything' policy
# At this point in time, you must list all acceptable 'object'
# types.
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
####################################################################
[ req ]
default_bits = 1024
default_keyfile = ca.key
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca # The extentions to add to the self signed cert
string_mask = nombstr
[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = RU
countryName_min = 2
countryName_max = 2
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = Some-State
localityName = Locality Name (eg, city)
0.organizationName = Organization Name (eg, company)
0.organizationName_default = My RT-N56U Ltd
organizationalUnitName = Organizational Unit Name (eg, section)
commonName = Common Name (eg, YOUR name)
commonName_max = 64
commonName_default = admin
emailAddress = Email Address
emailAddress_max = 64
emailAddress_default = admin@my.router
# SET-ex3 = SET extension number 3
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
unstructuredName = An optional company name
[ usr_cert ]
basicConstraints=CA:FALSE
nsComment="OpenSSL Generated Certificate"
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer:always
[ server ]
basicConstraints=CA:FALSE
nsCertType=server
nsComment="OpenSSL Generated Certificate"
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer:always
extendedKeyUsage=serverAuth
keyUsage=digitalSignature, keyEncipherment
[ v3_req ]
basicConstraints=CA:FALSE
keyUsage=nonRepudiation, digitalSignature, keyEncipherment
[ v3_ca ]
basicConstraints=CA:true
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer:always
[ crl_ext ]
authorityKeyIdentifier=keyid:always,issuer:always
[ proxy_cert_ext ]
basicConstraints=CA:FALSE
nsComment="OpenSSL Generated Certificate"
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer:always
proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo