ssh-add
SSH 에이전트에 SSH 키를 추가 하는 데 사용 합니다. 기본적으로 무기한 추가됩니다. 시간 제한을 지정하는 명령 줄 옵션이 있지만 기본 시간 제한을 지정하는 구성 파일 옵션이 있습니까?
내가 원하는 것은 ssh-add
명령 줄 매개 변수없이 실행할 수 있고 기본적으로 시간 제한에 대해 주어진 시간 (을 호출 한 것처럼 ssh-add -t 1h
)으로 설정하는 것입니다.
AFAIK,에 대한 구성이 sshd_config
없거나 ssh_config
에 대한 시간 초과를 지정합니다 ssh-agent
. 에서 openssh
소스 코드 파일 ssh-agent.c
:
/* removes expired keys and returns number of seconds until the next expiry */
static time_t
reaper(void)
{
time_t deadline = 0, now = monotime();
Identity *id, *nxt;
int version;
Idtab *tab;
for (version = 1; version < 3; version++) {
tab = idtab_lookup(version);
for (id = TAILQ_FIRST(&tab->idlist); id; id = nxt) {
nxt = TAILQ_NEXT(id, next);
if (id->death == 0)
continue;
if (now >= id->death) {
debug("expiring key '%s'", id->comment);
TAILQ_REMOVE(&tab->idlist, id, next);
free_identity(id);
tab->nentries--;
} else
deadline = (deadline == 0) ? id->death :
MIN(deadline, id->death);
}
}
if (deadline == 0 || deadline <= now)
return 0;
else
return (deadline - now);
}
그리고 process_add_identity
기능 :
process_add_identity(SocketEntry *e, int version)
{
....
if (lifetime && !death)
death = monotime() + lifetime;
....
}
lifetime
전역 변수이며 인수를 구문 분석 할 때만 값을 변경합니다.
/* Default lifetime in seconds (0 == forever) */
static long lifetime = 0;
int
main(int ac, char **av)
{
....
case 't':
if ((lifetime = convtime(optarg)) == -1) {
fprintf(stderr, "Invalid lifetime\n");
usage();
}
....
}
Ubuntu를 사용하는 경우 ssh-agent
in에 대한 기본 옵션을 설정할 수 있습니다 /etc/X11/Xsession.d/90x11-common_ssh-agent
.
STARTSSH=
SSHAGENT=/usr/bin/ssh-agent
SSHAGENTARGS="-t 1h"
if has_option use-ssh-agent; then
if [ -x "$SSHAGENT" ] && [ -z "$SSH_AUTH_SOCK" ] \
&& [ -z "$SSH2_AUTH_SOCK" ]; then
STARTSSH=yes
if [ -f /usr/bin/ssh-add1 ] && cmp -s $SSHAGENT /usr/bin/ssh-agent2; then
# use ssh-agent2's ssh-agent1 compatibility mode
SSHAGENTARGS=-1
fi
fi
fi
if [ -n "$STARTSSH" ]; then
STARTUP="$SSHAGENT $SSHAGENTARGS ${TMPDIR:+env TMPDIR=$TMPDIR} $STARTUP"
fi
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다