我正在使用 Xfce 桌面环境运行 Debian,虽然我尝试了许多解决方案,但每次重新启动时我总是需要输入一次密码。
- 在 macOS 中,我可以简单地使用
ssh-add -l > /dev/null || ssh-add -A
并且 macOS 的默认钥匙串管理器会记住其钥匙串中的密码,从而不再需要输入密码,但-A
在 Debian 中不起作用。
我有以下内容.bashrc
:if [ ! -S ~/.ssh/ssh_auth_sock ]; then eval `ssh-agent` ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock fi export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock ssh-add -l > /dev/null || ssh-add
- 我也尝试过使用
keychain
,我认为它与 macOS 的钥匙串相同,但keychian
每次重启时也需要密码。
我怎样才能让一些 Debian 密钥管理器安全地记住密码,从而永远避免输入密码?
几乎所有方法都以一种或另一种方式涉及 PAM,因为您的系统登录密码是唯一无需将其存储在磁盘上即可获得的信息。
最简单的方法是
pam_ssh
自动启动 ssh-agent 并使用您的系统密码从标准位置和从~/.ssh/session-keys.d/
.在 Debian 上,libpam-ssh 包会自动将模块插入到正确的位置。其他类似方法:
如果您不希望启动过程显示任何密码提示......好吧,没有安全的方法可以在您的系统上存储密钥。充其量您可以使用 TPM 芯片或其他一些硬件令牌来存储 RSA 密钥,而无需提取它们——它们将绑定到它们所在的硬件元素。