我正在设置脚本中运行 ssh-add :
ssh-add ~/.ssh/<some_key>
ssh-add
问题是我第一次登录时必须重做每个键。
ssh-agent.service
在我之前设置的同一个脚本中ssh-add
服务:
sudo cat << EOF > /etc/systemd/user/ssh-agent.service
[Unit]
Description=SSH authentication agent
[Service]
ExecStart=/usr/bin/ssh-agent -a %t/ssh-agent.socket -D
Type=simple
[Install]
WantedBy=default.target
EOF
systemctl --user enable ssh-agent.service
systemctl --user start ssh-agent.service
echo export SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" >> ~/.bashrc
您知道如何操作,ssh-add
这样我就不必在第一次登录时重做每个密钥吗?
答案1
普通的 OpenSSHssh-agent
旨在仅在单个登录会话的持续时间内运行,并且无法在此之后持久保存加载的密钥。如果您习惯使用 MacOS 的密钥环增强型 SSH 代理,这可能会有点令人失望。
然而,gpg-agent
GnuPG 套件也可以选择用作 SSH 代理,并且可以在单个会话之外保留密钥,但有自己的密码短语要求来保护保留的密钥。