我有几个 cron 作业需要受密码保护的 ssh 密钥。这些作业每天早上运行,但总是失败,因为代理在与远程服务器断开连接后没有保持密钥有效。这是我继承的服务器,以前保留了密钥,但在最近的更新和重启后,它们不再保留。
我尝试运行 ssh-agent 并在之后添加密钥
eval `ssh-agent -s`
有一个 .config/systemd/user/ssh-agent.service 在登录时启动代理,然后我手动添加密钥,但断开连接后密钥不会保留。
[Unit]
Description=SSH key agent
[Service]
Type=simple
Environment=SSH_AUTH_SOCK=%t/ssh-agent.socket
ExecStart=/usr/bin/ssh-agent -D -a $SSH_AUTH_SOCK
[Install]
WantedBy=default.target
$SSH_AUTH_SOCK 在 .bashrc 中通过以下方式设置
export SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
断开连接后,将这些密钥保存在 ssh-agent 中以供 cron 作业使用的最佳方法是什么?
Linux 版本:
NAME="Red Hat Enterprise Linux"
VERSION="8.7 (Ootpa)"
ID="rhel"
ID_LIKE="fedora"
VERSION_ID="8.7"
PRETTY_NAME="Red Hat Enterprise Linux 8.7 (Ootpa)"
REDHAT_BUGZILLA_PRODUCT="Red Hat Enterprise Linux 8"
REDHAT_BUGZILLA_PRODUCT_VERSION=8.7
REDHAT_SUPPORT_PRODUCT="Red Hat Enterprise Linux"
REDHAT_SUPPORT_PRODUCT_VERSION="8.7"