过去,我已使用 ftp/sftp 从桌面成功登录到服务器。密码保存在我的系统中的某个位置,但我不确定在哪里。我现在尝试更改密码,因为密码在服务器上更改,但我无法这样做。
- 我尝试在我的 Ubuntu 密钥环中查找该条目。我发现了一个条目并将其删除。
- 当我尝试登录时,系统仍然记住了密码。
- 然后我删除了密钥环中的所有条目。系统还记得我的密码。
- 我在 .ssh/hosts 中没有任何相关配置(以防万一)。
- 我尝试使用命令行上的 sftp、Nautilus 和 Filezilla 登录到同一主机。在所有情况下,系统都不会要求我输入密码,而且我不知道如何更改它。
- 我删除了文件夹中的引用/.local/share/gvfs-元数据/但它不影响任何事情
有什么想法可以改变这个吗?
使用 Ubuntu 18.04、Gnome
答案1
在评论中,我要求您运行ssh-add -l
,ls $HOME/.ssh/id_*
结果发现您已经设置了 SSH 密钥。您说您有多个用于不同项目和访问的密钥:这可能是一个重要的细节。
存储的 SFTP 凭据可能实际上是 SSH 密钥之一,而不是密码。
或者,远程服务器管理员可能对每次连接尝试的身份验证尝试次数设置了严格的限制,并且您配置了如此多的密钥,以至于 SSH 将通过在出现密码提示之前尝试各种 SSH 密钥来烧毁所有这些尝试,导致远程sshd
终止连接尝试而不询问密码。
(是的,每个密钥优惠都算作一次身份验证尝试!)
在评论中,您说您已经通过重命名.ssh
目录解决了这个问题。作为一种更用户友好的替代方案,您可以将如下代码片段写入文件中~/.ssh/config
:
Host problem.server.hostname
IdentitiesOnly yes
# uncomment the line below to offer only a specified key and no other
# IdentityFile ~/.ssh/id_key_file_name_here
# uncomment the line below to only use password authentication with this host
# PubkeyAuthentication no
这将限制特定主机使用的密钥和/或身份验证方法,避免“密钥过多”问题。