ssh-agent에 sudo와 같은 비활성 / 유휴 시간 초과 기능이없는 기술적 인 이유가 있습니까?


9

ssh-agent -t[1] 의 기존 기능에 대한 간단한 설명이 있으며 2001 년까지 debian-devel [2]에서 비 활동 타임 아웃 기능을 원하는 게시물이있었습니다. SE [3]에 대해 비슷한 내용이 있습니다.

나는 지구의 나머지 부분이 어떻게 ssh 키를 보호하고 있는지 궁금해해야한다. 이것이 나를위한 고통의 지점이 될 수있는 명백한 것을 놓치고 있나? 특히 나는 ssh와 같은 스크립트 된 ssh 상호 작용을 생각하고 있습니다. 오늘 귀하의 선택은 다음과 같습니다.

  • 에이전트의 키 수명을 걱정할 정도로 긴 기간으로 설정하십시오 (예 : (! 나는 많은 사람들이 긴 스트레칭 그들의 sudo는 재 인증 시간 제한을 허용 의심) 1 시간이든 스크립트의 실행 시간을 최대가 될 일이 있습니다 -하지만 seahorse/ gnome-keyring-daemon거의 심지어이 많이 지원 [4]
  • 장기 실행 스크립트를 베이비 시팅하고 5/10/15 분마다 암호문을 계속 다시 입력하십시오. 이제 암호문을 하루에 20 번 입력하는 것을 쉽게 볼 수 있습니다.
  • 아마도 쉘의 TMOUT쉘 var 와 함께 누락 된 기능을 모방하기 위해 자체 양조 솔루션을 해킹하십시오 (자유 제안에 대한 freenode #openssh IRC에 감사드립니다)
  • 키 수명을 전혀 설정하지 마십시오. 즉 에이전트가 키를 영구적으로로드하거나 죽이거나 재부팅 할 때까지로드합니다.

인증하는 각 역할 유형에 대해 짧은 ssh 에이전트 시간 제한, 강력한 암호 및 다른 키 파일을 사용하는 경우 매우 실망스러운 하루가됩니다!

gpgkey2ssh 및 스마트 카드를 실험했지만이 특정 문제를 실제로 해결하지는 못합니다. 여전히 ssh-agent 기능을 원하고 개인 키가 노출되지 않도록 5 분마다 다시 인증하고 싶지는 않습니다. 컴퓨터가 유휴 상태 일 때 메모리에

내가 잘못하고 있습니까?

[1] SSH 에이전트의 기본 시간 초과 구성

[2] https://lists.debian.org/debian-devel/2001/09/msg00851.html

[3] /server/518312/putty-pageant-forget-keys-after-period-of-inactivity

[4] https://bugs.launchpad.net/ubuntu/+source/gnome-keyring/+bug/129231


1
대답은 아니지만 그렇습니다. 세션 ssh-agent유형 (예 : tty 세션, X11 세션 또는 기타)에 무관 한 경우 세션 비 활동을 감지하는 방법에 대한 기술적 인 문제 가 있습니다. 나는 한 가지는 자동화 된 스크립트는 아마 당신의 에이전트에로드 된 키에 따라해야하는 것이 아닌 경우 같은 말을한다. 각 서버마다 고유 한 개인 키가 있어야합니다.이 키는 해당 서버에서 강제 명령을 통해 각 스크립트를 실행하는 데 필요한 특정 원격 명령 만 실행할 수 있도록 인증됩니다. 물론 cron 등에서 실행할 수 있습니다.
Celada

나는 기대하지 않는 ssh-agent세션이 비활성 상태 일 때 알고 있지만, 적어도 마지막 서명 작업이 아니라 때마다 발생 때마다에서 타임 아웃 시작 ssh-agent시작되었다. 또한 각 스크립트 역할에 대해 별도의 사용자 계정과 키 파일을 이미 사용하고 있으며 sudoers는 필요한 경우 하나 또는 두 개의 명령 만 sudo'd 할 수 있도록 허용 lshell하고 추가로 잠그는 방법을 검토했습니다 . 그러나 여전히 키 파일을 보호 할 필요가 없어지는 것은 없습니다 sudo zfs send. 주어진 키에 허용되는 유일한 명령 이기 때문에 해당 키를 소유 한 사람에게는 매우 강력한 명령입니다!
csirac2

또 다른 해결 방법 : 스크립트에 ControlMaster/ ControlPath/ ControlPersist옵션 (참조 man ssh_config)을 사용하십시오. 적어도 하나의 호스트에만 연결되는 경우.
derobert

그것은 흥미로운 제안이며 나에게 무언가를 가르쳐주었습니다 (감사합니다!)하지만 ssh-agent재부팅 할 때까지 키를 계속로드 하려고하면 아무것도 해결하지 않는 것 같습니다 (몇 주일 수 있음).
csirac2

답변:


2

이와 관련 하여 화면이 잠겨있을 때 xscreensaver-command -watch인터페이스를 사용하여 쉽게 실행할 수 있습니다 ssh-add -D. 매우 간단한 예는 매뉴얼 페이지를 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.