ssh-agent 없이 SSH 키를 어떻게 잠금 해제할 수 있나요? 이 문제를 어떻게 해결할 수 있나요?

ssh-agent 없이 SSH 키를 어떻게 잠금 해제할 수 있나요? 이 문제를 어떻게 해결할 수 있나요?

나는 거의 매일 사용하는 SSH 키를 가지고 있는데 최근에 오랫동안 잠금을 해제하지 않았다는 사실을 발견했습니다. 저는 항상 컴퓨터를 종료하지 않기 때문에 서버에 액세스할 때 ssh-agent가 이미 실행 중인 경우가 많습니다. 하지만 실제로 비밀번호를 물어본 적이 없다는 것을 이제 확인했습니다.

조금 정신이 혼미해지는 것 같아서...

  • ps aux | grep agent달리는 모습 은 보이지 않습니다 ssh-agent.
  • ssh-keygen -y비밀번호를 요청했지만 예상했던 비밀번호가 작동하지 않았습니다.
  • ssh [email protected]지금 연결하세요.

일시적이지만 현재로서는 특별히 민감한 사항은 없습니다.

여기서 무엇을 찾아야 합니까? 재부팅 후에도 비밀번호 없이 키가 어떻게 작동하나요? 나는 여기서 뭔가를 하고 있다고 가정하고 있는데, 내가 한 일을 어떻게 알 수 있습니까?

댓글에 따르면 실행했지만 아무것도 반환 되지 echo $SSH_AUTH_SOCK않았 으므로 무엇을 켰는지 모르겠습니다./run/user/1000/keyring/sshlsof /run/user/1000/keyring/ssh

내 열쇠가 잠금 해제되지 않도록 하려면 어떻게 해야 하나요?

답변1

나도 똑같은 혼란을 겪었고 무슨 일이 일어나고 있는지 알아낼 수 있었습니다.

ssh-agent먼저, 자동으로 실행되는 이유를 알고 싶었 기 때문에 psf플래그를 사용하여 다른 프로세스가 분기(생성)된 것이 무엇인지 확인했습니다 ssh-agent.

ps auxf | grep ssh-agent -C3

결과 :

foobar      4478  0.0  0.0 602792  7748 ?        SLl  Jun07   0:01 /usr/bin/gnome-keyring-daemon --daemonize --login
foobar    576058  0.0  0.0   7492  4872 ?        S    01:24   0:00  \_ /usr/bin/ssh-agent -D -a /run/user/1000/keyring/.ssh

gnome-keyring-daemon그런 다음 (결과 프로세스 ) 조사 ssh-agent하고 다음 위키 페이지를 보았습니다.

https://wiki.gnome.org/Projects/GnomeKeyring/Ssh

기본적으로 GNOME Keyring Daemon은 SSH-Agent의 영구 사용자별 인스턴스를 로드하여 메모리에서 키를 잠금 해제된 상태로 유지하는 영구 사용자별 서비스입니다. 이는 SSH 에이전트가 세션 전체에 걸쳐 잠금 해제된 모든 키를 메모리에 보관하기 때문에 다른 터미널 창을 열 때마다 SSH 키의 비밀번호를 지루하게 입력할 필요가 없음을 의미합니다.

생성된 SSH 에이전트는 새 키 파일( 문서에 따르면 관련 파일이 있는 모든 새 파일) 을 영구적으로 모니터링합니다 ~/.ssh(하위 폴더는 아님 ). 이는 파일을 .pub수동으로 실행할 필요 없이 SSH 에이전트에 새 키를 자동으로 추가한다는 의미입니다 . 새 파일을 폴더에 넣기 전과 후에 모든 키를 나열하기 위해 ssh-add실행하면 ssh-add -l이를 볼 수 있습니다 ~/.ssh. 즉시 자동으로 나타납니다.

기본적으로 GNOME Keyring Daemon은 Fedora Workstation 36(내 운영 체제)에 설치되어 활성화됩니다.

~/.ssh비밀번호를 계속 입력하지 않고도 비밀번호로 보호된 키 파일을 즐길 수 있다는 점에서 사실 감사하다 . 악성 애플리케이션이 내 키 파일을 훔쳐도 비밀번호는 ssh-agent의 메모리에 안전하게 저장되어 있으므로 비밀번호를 알 수 없습니다.

이는 또한 비밀번호로 보호된 SSH 키를 사용하여 백그라운드에서 무인으로 실행되어야 하는 작업(예: 예약된 Borg 백업 작업)을 수행할 수 있음을 의미합니다. 그놈 키링 데몬의 작동 방식으로 인해 사용자 개입 없이 암호로 보호된 키의 암호를 자동으로 해독합니다.

기본적으로 모든 SSH 키는 "저장 상태"(디스크에서 암호화됨)로 보호됩니다. 단점은 없습니다.

SSH 연결이 시도될 때마다 그놈 키링 데몬은 이를 다음과 같이 처리합니다:

  • 키를 처음 사용한 경우이거나 비밀번호가 키링에 저장되어 있지 않은 경우 비밀번호를 사용하여 키를 수동으로 잠금 해제하라는 메시지가 표시됩니다.

키 인증

  • 비밀번호를 입력하고 "잠금 해제"를 클릭하면 컴퓨터를 로그아웃하거나 다시 시작할 때까지 잠금 해제된 상태로 유지됩니다. 다음에 컴퓨터에 로그인할 때 키를 다시 사용하면 SSH 비밀번호를 입력하라는 메시지가 표시됩니다.

  • "로그인할 때마다 자동으로 이 키 잠금 해제"를 활성화하면 비밀번호가 개인 그놈 키링에 저장되고 로그인할 때마다 자동으로 잠금 해제됩니다. 키를 사용하지 않고 즉시 키를 사용해야 하는 경우 매우 유용합니다. . 사용자 개입. 그리고 키가 항상 디스크에 암호화되어 있기 때문에 여전히 안전합니다!

이것은문자 그대로가능한 한 완벽합니다.

추신: 많은 사람들이 말하는 Fonto의 또 다른 변형이 있습니다.열쇠고리"프로젝트인데 이 글을 쓰는 시점에서는 2018년 1월(거의 5년 전) 이후로 업데이트가 되지 않았습니다. 많은 분들이 얘기하실 때부터 팔로우를 해왔지만 비교해보면 매우 제한적입니다. 터미널 내에서) 로그인한 동안 영구적으로 실행하는 대신) 백업 작업과 같은 작업을 처리할 수 없습니다. 그놈이 이미 완벽하게 훌륭하고 적극적으로 유지 관리/개발된 서비스를 ~/.bashrc가지고 있다는 사실을 모르기 때문에 감사합니다. gnome-keyring-daemon. funtoo의 오래된 키체인을 사용할 필요가 없으므로 "즉시" 작동합니다. 이는 저에게 좋은 소식입니다!

기본적으로 오늘 나는 그것이 얼마나 멋진 지 알았습니다 gnome-keyring-daemon!

비활성화하고 싶다면 제가 링크한 위키 페이지에 지침이 있습니다. 그러나 ssh-agent키를 메모리에 안전하게 보관하는 공식 데몬을 올바르게 사용하기 때문에 이유를 이해할 수 없습니다. 많은 사람들이 ssh-agent1개의 공유 인스턴스를 수동으로 시작하고 활성 상태로 유지합니다. GNOME의 키링 데몬은 어떤 구성이나 번거로움 없이 이를 쉽게 제공할 수 있습니다. 훌륭해요! 번거로움 없이 보안을 강화하기 위해 디스크의 모든 키를 암호로 보호할 수 있습니다.

관련 정보