개인 키가 잠금 해제되지 않은 이유는 무엇입니까?


13

얼마 전에 Ubuntu 17.10으로 업데이트 한 이후, 예를 들어 ssh를 통해 서버에 액세스하는 데 사용하는 개인 키는 더 이상 로그인 후에 프로그래밍 방식으로 잠금 해제되지 않습니다.

여기에 이미지 설명을 입력하십시오

내 이해는 일반적으로 seahorse client키를 처음 입력 할 때 키 암호를 저장할지 묻는 메시지를 표시하여이를 처리해야한다는 것입니다.

내 첫 번째 추측은 seahorse-daemon어떤 이유로 실행되지 않았지만 다음과 같습니다.

user@Zeus:~$ ps aux | grep seahorse
user    19170  0.0  0.1 432636 26564 ?        Ss   00:07   0:00 seahorse-daemon

내 두 번째 추측은 어떤 이유로 든»Passwords-> login«에서 해마에 저장된 모든 관련 암호를 삭제해야한다는 것입니다. 여기에 이미지 설명을 입력하십시오

나는 고객이 나에게 다시 묻고 다시 저장하도록 강요하기를 바랐다. 그러나 이것은 도움이되지 않았습니다. 클라이언트가 나에게 묻지 않습니다.

그런 다음 관련이있을 수있는이 질문을 찾았지만 도움이되지 않았습니다 . 우분투에서 모든 개인 키 잠금을 해제하고 로그인시 암호를 한 번만 입력하십시오

다른 암호 관리 (예 : 노틸러스, Chromium, Nextcloud 등의 암호)가 예상대로 작동함에 따라 문제가 뭔가 관련이 있다고 가정합니다 ssh-agent...

아무도 올바른 방향으로 힌트를 줄 수 있습니까?이 문제를 해결하는 방법은 무엇입니까? 그놈이 암호를 처리하는 방식에 어떤 변화가 있습니까? 업그레이드 프로세스 중에 새로운 고급 프로그램이 설치되지 않았을 수 있습니까?

업데이트 다음을 사용 하여 개인 키를 인증 에이전트에 다시 추가 할 때 :

ssh-add ~/.ssh/id_rsa

로그인을 시도하면 키가 프로그래밍 방식으로 잠금 해제 된 후에 키를 한 번만 잠금 해제하라는 메시지가 표시됩니다. 그러나 이것은 다음에 다시 부팅 할 때까지만 작동합니다. 새로 시작한 후 키를 다시 추가해야합니다.


또한 우분투 17.10을 사용하는 동안 ssh 키의 잠금을 해제하기 위해 갑자기 비밀번호를 요청하기 시작했습니다. 허용 된 답변 이 도움이되지 않았습니다 (재부팅 할 때까지만 작동). 여기 에는 분명히 중복되는 질문이 있습니다.
Alexey

Seahorse는 데이터를 암호 (일반적으로)로 암호화합니다. 키가있는 ssh, 지문 인식기와 같은 암호가없는 로그인은 필요할 때까지 암호 해독을 유지 한 다음 메시지가 표시됩니다. 문제가 시작될 때 SSH 로그인을 비밀번호에서 키로 전환 했습니까?
ubfan1

답변:


7

예, ssh-agent가 답입니다. 암호를 저장하려면 다음을 수행하십시오.

ssh-add ~/.ssh/id_rsa

그런 다음 비밀번호를 입력하고 다시 로그인하십시오.


다음에 다시 부팅 할 때까지만 도움이됩니다.
Alexey

@Alexey 예, 다음에 재부팅 할 때까지만 작동 함을 확인할 수 있습니다. 아직 해결책을 찾지 못했습니다.
user5950

ssh-agent는 로그인 세션 중에 실행되며 보안을 위해 로그인 세션을 종료하면 종료됩니다. 재부팅 후에도 지속되고 계정 암호가 손상된 경우 공격자는 갑자기 RSA ID에 액세스 할 수 있으므로 액세스 할 수있는 모든 컴퓨터에 액세스 할 수 있습니다. 이것은 위험한 보안 구멍이 될 것입니다. 그러나 계정 보안 수준을 낮추려면 몇 가지 해결 방법이 있습니다. 참조 unix.stackexchange.com/questions/90853/...
darksky

6

시작 응용 프로그램에 SSH 키 에이전트 (GNOME 키링 : SSH 에이전트)를 추가하면 문제가 해결되었습니다.

여기에 이미지 설명을 입력하십시오


3

첫 번째 옵션

ssh 에이전트를 시작하십시오.

ssh-agent

ssh 키를 추가하십시오.

ssh-add ~/.ssh/id_rsa

재부팅 후 지속되도록하려면 ssh-agent를 자동 시작하고 .bash_profile에 다음 줄을 추가하십시오.

if [ -z "$SSH_AUTH_SOCK" ] ; then
  eval `ssh-agent -s`
  ssh-add
fi

두 번째 옵션

이것을 .bashrc 또는 .zshrc에 추가하십시오 :

if [ ! -S ~/.ssh/ssh_auth_sock ]; then
  eval `ssh-agent`
  ln -sf "$SSH_AUTH_SOCK" ~/.ssh/ssh_auth_sock
fi
export SSH_AUTH_SOCK=~/.ssh/ssh_auth_sock
ssh-add -l > /dev/null || ssh-add

재부팅 할 때마다 처음 로그인 할 때만 암호를 묻는 메시지가 표시됩니다. 실행중인 한 동일한 ssh-agent를 계속 재사용합니다.


감사합니다.이 해결 방법은 작동하는 것처럼 보이지만 방황하고 있습니다. 처음에 작동을 멈추게 된 이유는 무엇입니까? 지난 10 년 동안 일을
했는데
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.