这答案非常适合与 nautilus 建立 webdav 或 webdavs 连接。
但是,当我在使用自签名 TLS 客户端证书认证保护的 webdav 共享上尝试此操作时,我得到:
第一的:
The signing certificate authority is not known.
Certificate information:
....
Are you really sure you would like to continue?
当我点击“是”之后:
...Unhandled error message: HTTP Error: Error performing TLS handshake: A TLS fatal allert has been received.
...而且我从未被要求提供客户端证书。我在 Ubuntu 16.04 上安装了 Unity,并且最好像这样与 Nautilus 一起工作。 我需要包括安装客户端证书(和 CA 机构)在内的说明。
附言:这问题似乎相关(不相同),但也没有答案。
答案1
一个有效的解决方案是使用达夫斯。
安装
安装 davfs
sudo apt-get install davfs2
配置
然后将证书从 CA(pem 格式)复制到 /ect/davfs2/certs,将客户端证书(.p12 格式)复制到 /ect/davfs/certs/private,并修改配置文件,例如
sudo nano /etc/davfs2/davfs2.conf
取消注释(删除 #)trust_ca_cert 和 clientcert 行并添加相应证书的完整路径,例如
trust_ca_cert /etc/davfs2/certs/ca.cert.pem
#servercert
clientcert /etc/davfs2/certs/private/xxx.yyy.com.p12
保存文件并退出( nano 中的Ctrl+ O,Ctrl+ x),并确保客户端证书具有正确的权限
sudo su
chmod 0600 /etc/davfs2/certs/private/xxx.yyy.com.p12
exit
可选配置凭证文件
您可以使用位于以下位置的凭证文件:
/etc/davfs2/secrets
这样你就不必每次都输入密码了。该文件有很好的语法示例,我就不在这里重复了。
用法
要挂载文件系统,请运行
sudo mount -t davfs -o uid=bruni,gid=users https://serveraddress /home/bruni/mountpoint
缺点
该解决方案的问题是:
- 该网站提供的链接形式为 davs://,这不适用于上述情况
(我们通过提供 file:// 形式的链接解决了服务器端的问题
当我尝试与上述安装的文件夹同步时,Freefilesync 返回以下错误:
无法为“/path/to/mountpoint”设置目录锁。
无法写入文件“/path/to/mountpoint/sync.ffs_lock”。
错误代码 13:权限被拒绝(打开)
更新为了缓解这个问题,我已经切换到 rsync。
答案2
由于这是自签名证书,因此您需要确保两个都已安装CA公共证书。
这通常不会以相同的方式对所有包起作用,因为有些包不使用中央证书存储。
以下是在 ubuntu 中安装根 CA 证书的一些说明 如何安装根证书?