我正在运行 Ubuntu 11.10 并使用自动sshfs,使用用户的 SSH 配置和密钥为每个用户自动挂载 SSHFS。这很好用,但 Gnome Keyring 不记得身份验证,并且在重新挂载时(ssh 超时后)不断提示输入密钥的密码。
我的 RSA 密钥位于里面,~/.ssh
具有非常严格的0400
权限。我已将私钥添加到密钥环中,ssh-add
并将公钥添加到authenticated_keys
。我可以确认它们在密钥环中,因为当我运行时它们会显示出来ssh-add -l
。
片段auth.log
如下:
Oct 5 14:01:34 flax sudo: root : TTY=unknown ; PWD=/ ; USER=oddy ; COMMAND=/bin/bash -c \/usr\/local\/sbin\/autosshfs-ssh remotehost\.com;
Oct 5 14:13:45 flax sudo: oddy : TTY=pts/0 ; PWD=/home/oddy ; USER=root ; COMMAND=/bin/cat /var/log/auth.log
Oct 5 14:14:51 sudo: last message repeated 2 times
Oct 5 14:17:01 flax CRON[5862]: pam_unix(cron:session): session opened for user root by (uid=0)
Oct 5 14:17:01 flax CRON[5862]: pam_unix(cron:session): session closed for user root
Oct 5 14:36:36 flax login[1309]: pam_unix(login:session): session opened for user oddy by LOGIN(uid=0)
Oct 5 14:38:11 flax login[1309]: pam_unix(login:session): session closed for user oddy
我找不到任何表明它失败的东西。通过控制台 SSH 连接到远程主机不会提示输入密码,因此密钥环确实适用于该特定密钥,只是不能与 autosshfs 一起使用。
有任何想法吗?
答案1
请注意,autosshfs 使用钥匙链设置环境变量 st ssh 可以找到ssh-agent
及其身份验证套接字。如果您没有告知keychain
管理要使用的密钥,sshfs
它将要求您输入密码。检查 的输出keychain -q --eval
,这就是autosshfs
将要运行的内容。
以下是我之前遇到的问题的一些调试提示:
- 我假设您
.ssh/config
指定了用于远程主机的密钥? .ssh
您是否有未添加到 ssh 可能提供的钥匙串中的钥匙(因此要求您解锁)?- 当您尝试登录使用 autosshfs 的 shell 时,您是否使用了相同的主机名(例如,您使用 autosshfs 的别名并在 shell 中尝试了完整的主机名)?
ssh-agent
当 autosshfs 失败/要求输入密码时,您是否已验证它仍在运行且仍已加载密钥?