【发布时间】:2017-02-06 05:23:14
【问题描述】:
我想暂时给ssh-agent添加一个自定义键,执行几个命令就忘了它。
手册页声明如下:
ssh 代理 [-c | -s] [-d] [-a bind_address] [-t life] [command [arg ...]]
如果给出了命令行,则将其作为代理的子进程执行。当命令死亡时,代理也会死亡。
测试表明它确实适用于一个命令:
# ssh-agent ssh-add user_rsa_key
Identity added: user_rsa_key (user_rsa_key)
但不是多个命令:
# ssh-agent { ssh-add user_rsa_key; ssh-add -l; }
-bash: syntax error near unexpected token `}'
# ssh-agent $(ssh-add user_rsa_key; ssh-add -l)
Could not open a connection to your authentication agent.
Could not open a connection to your authentication agent.
SSH_AUTH_SOCK=/tmp/ssh-UQYDpH5Mopk3/agent.25436; export SSH_AUTH_SOCK;
SSH_AGENT_PID=25437; export SSH_AGENT_PID;
echo Agent pid 25437;
有办法吗?
【问题讨论】:
-
一个技巧可能是使用
-t选项指定一个明确的生命周期,尽管这可能会导致密钥过期过早或被保留的时间超过必要的时间。