特定集群下命令行SFTP可正常连接,但Nautilus图形化工具连接失败(权限拒绝)
看起来问题出在Nautilus依赖的GVFS SFTP后端没有正确识别到你的Kerberos凭证——毕竟命令行能正常连接,就说明你的Kerberos票是有效的,只是图形化工具这边没跟上。给你几个实际可行的排查和解决步骤:
手动指定Kerberos缓存启动Nautilus
有时候Nautilus读取环境变量的方式和终端不一样,你可以先通过echo $KRB5CCNAME找到你的Kerberos缓存路径(一般是/tmp/krb5cc_xxxx这类格式),然后在终端用这个路径启动Nautilus:KRB5CCNAME=/tmp/krb5cc_1000 nautilus替换成你实际的缓存路径后,再尝试连接
sftp://[username]@[domain],看看能不能正常访问。用gvfs-mount命令手动挂载,排查具体错误
Nautilus的SFTP功能其实是基于gvfs实现的,你可以直接用gvfs-mount命令挂载,这样能看到更详细的错误输出,方便定位问题:gvfs-mount sftp://[username]@[domain]如果是Kerberos相关的认证问题,这里会给出更明确的提示,比如缺少某个组件或者配置项。
检查GVFS的Kerberos支持组件
确保你的系统上安装了GVFS支持Kerberos的组件,比如在Debian/Ubuntu系可以检查gvfs-backends和krb5-user这两个包是否安装(如果没装,用apt install命令补上试试)。另外可以看看~/.config/gvfs目录下有没有SFTP相关的配置,确认没有禁用Kerberos认证的设置。在Nautilus里强制指定Kerberos认证方式
如果你是通过Nautilus的「连接到服务器」对话框输入地址的,试试点击对话框里的「更多选项」,看看有没有认证方式的选择项,直接选「Kerberos」而非默认的「密码」,强制Nautilus使用你的Kerberos凭证完成认证。
备注:内容来源于stack exchange,提问作者Andrew

