我开始ssh-agent
使用:
eval $(ssh-agent)
ssh-add /path/to/key
在其中一台服务器(Ubuntu 16.04)上允许rsync
,并且原以为 的会话ssh-agent
将在注销后过期。
它没有,而是每次我登录时都会启动,并且由于密钥在几个服务器之间共享,因此所有服务器现在都会自动进行身份验证,而无需请求密码。
我尝试过ssh-agent -k
,但总是抛出异常SSH_AGENT_PID not set, cannot kill agent
。
如果我确实ssh-agent
要获取 PID,那么sudo kill -9 [PID]
另一个ssh-agent
进程将使用新的 PID 启动。
我想完全关闭ssh-agent
并防止它在每次登录所有受影响的服务器时启动。
答案1
在~/.bash_logout
, 做
eval $(ssh-agent -k)
或者,对于非bash
shell,ssh-agent
从
if [ -z "$SSH_AUTH_SOCK" ]; then
ssh-agent myshell
fi
例如或其他东西myshell
在哪里。dash
ksh93
在你的最后做这个登录shell初始化文件, 通常~/.profile
。当你退出时,代理就会死亡。
ssh-agent
清理错误启动的剩余进程(这将终止全部其中):
$ pkill ssh-agent