재부팅 사이에 컴퓨터가 SSH 키 비밀번호를 기억하도록 하려면 어떻게 해야 합니까?

재부팅 사이에 컴퓨터가 SSH 키 비밀번호를 기억하도록 하려면 어떻게 해야 합니까?

등을 ssh-agent사용하여 SSH 키 비밀번호를 캐싱하는 다양한 솔루션을 찾았습니다 keychain. gpg-agent그들은 모두 로그인이나 세션마다 이를 캐시하는 것으로 보이므로 컴퓨터를 다시 시작할 때마다 SSH 비밀번호를 다시 입력해야 합니다(그러나 후속 SSH는 다시 시작할 때까지 SSH 비밀번호를 묻지 않습니다).

재부팅 시 캐시가 지워지는 것을 원하지 않습니다. 비밀번호를 한 번 입력하고 싶습니다.안 돼요컴퓨터를 꺼도 또 물어보네요. 어떻게 해야 하나요?

필요한 경우 Manjaro를 사용하겠습니다.

답변1

나는 @terdon에 동의합니다. 컴퓨터가 암호를 기억하도록 하는 것은 암호가 없는 것과 같습니다.

그러나 다른 옵션이 있습니다. 로그인할 때 비밀번호 대신 ssh 비밀번호 문구를 사용하도록 PAM을 구성합니다. 이렇게 하면 비밀번호만 입력하면 되므로 더욱 편리합니다.

또한: 여러 라운드의 암호화를 사용하도록 SSH를 구성하면 키를 해독하는 데 약 1초가 걸리므로 비밀번호가 더 짧고 더 안전해집니다. 입력하기 쉽고, 기억하기 쉽고, 추측하기 어려운 좋은 비밀번호를 사용하세요.

답변2

이것그놈 열쇠고리SSH 비밀번호를 저장할 수 있으며SSH 에이전트로 작동. 이 구성 요소와 함께 sshgnome-keyring을 실행하고 있는지 확인하세요. 환경 변수는 SSH_AUTH_SOCKssh-agent가 아닌 gnome-keyring을 가리켜야 합니다. 키링에는 SSH 키가 포함되므로 키링에서 시작할 필요가 없습니다 ~/.ssh. 키링은 영구적이므로 키를 추가하면 재부팅 후에도 유지됩니다. Gnome 키링의 잠금이 해제되면 SSH 키를 포함한 모든 콘텐츠를 애플리케이션에서 사용할 수 있습니다.

답변3

동시에이 문제가 발생했습니다.이 비슷한 질문존재하다우분투에 물어보세요, 거기에 게시한 수정 사항이 여기에도 적용될 수 있습니다. (나는 -에서왔다여기.)

가장 중요한 점은 이 수정 사항이 Seahorse(암호 및 키라고도 함), GNOME Keyring을 사용하는 GUI 프런트엔드에만 적용된다는 것입니다. Seahorse는 Ubuntu 및 기타 Linux 배포판에서 기본적으로 활성화되어 있습니다. Seahorse를 사용하는 경우 명령줄 실행 파일을 호출하면 ssh-askpass특정 SSH 키에 대한 비밀번호를 묻는 메시지가 표시되고 그 비밀번호를 GNOME Keyring에 저장할 수 있습니다. (macOS에도 비슷한 프로세스가 있는데 아래에서 Seahorse의 프로세스에 대해 설명하겠습니다.)

편집: 더 중요한 것은 Seahorse GUI로 이동하여 OpenSSH 키를 클릭하고 문제의 키를 마우스 오른쪽 버튼으로 클릭한 다음 "Secure Shell용 키 구성..."을 선택한 다음 각 서버와 사용자 이름을 추가하는 것입니다. 열쇠 열쇠를 사용하세요. 오늘 일찍(달리기 전에) 이 일을 했는데 ssh-askpass완전히 잊어버렸어요. 이상하게도 이 프로세스 부분에서는 비밀번호를 묻는 메시지가 표시되지 않는 것 같습니다.

Seahorse에서 SSH 키의 비밀번호를 저장하려면 다음 명령을 사용하세요.

$ <seahorse_ssh-askpass> <key_path>

Seahorse 관련 파일을 사용하고 싶은 경우 ssh-askpass모든 시스템에서 동일한 위치에 있지 않을 수 있지만 제 경우(Ubuntu 20.10)는 다음과 같습니다.

$ /usr/libexec/seahorse/ssh-askpass <key_path>

이 실행 파일 위치가 시스템에서 작동하지 않으면 다음을 시도해 볼 수 있습니다.

$ locate ssh-askpass | grep seahorse

ssh-askpass이름과 경로 seahorse에 포함된 모든 파일과 디렉터리가 나열됩니다 . (설치하고 설정해야 할 수도 있습니다.mlocate시스템에서 이 명령을 실행하기 전에. )

SSH 키의 가장 일반적인 경로는 이지만 ~/.ssh/id_rsaSeahorse GUI를 확인하여 다른 경로인지 확인할 수 있습니다. 내 경우에는 다음 명령을 사용했습니다.

$ /usr/libexec/seahorse/ssh-askpass ~/.ssh/alpha_rsa

명령이 성공적으로 실행되면 SSH 키 이름을 나열하고 비밀번호를 묻는 대화 상자가 나타납니다. 내 경우에는왈라 오류키보드를 잡을 수 없다고 말하고 내가 입력한 비밀번호가 터미널에 인쇄되지만 이 명령은 내 그놈 키링이 잠금 해제될 때 특정 SSH 키가 자동으로 잠금 해제되도록 하는 데 성공한 것 같습니다.

그런데 이것이 명백한 보안 허점이 되는 것을 원하지 않는다면, 컴퓨터를 켤 때 비밀번호 없이 그놈 키링이 자동으로 잠금 해제되지 않도록 하는 것이 좋습니다. 제 경우에는 Linux 부팅 전에 입력해야 하는 비밀번호가 포함된 YubiKey가 있습니다. 또한 사용하지 않을 때 컴퓨터가 자동으로 잠기는지도 확인하고 싶을 것입니다. 그러나 컴퓨터를 시작하거나 로그인하고 잠금 해제(즉, 절전 모드에서 깨우기)하기 위해 비밀번호를 입력해야 한다고 가정하면, 그놈 키링에 저장된 모든 SSH 비밀번호는 그놈 키링의 다른 비밀번호만큼 안전해야 합니다.

macOS를 사용하는 경우 유사한 프로세스를 사용하여 사용자의 로그인 비밀번호로 암호화된 macOS 키체인에 SSH 키 비밀번호를 저장할 수 있습니다.

터미널에서 SSH 키를 설정했다고 가정하면 터미널에 다음을 입력하여 ~/.sshSSH 파일을 편집 할 수 있습니다.config

% nano ~/.ssh/config

파일 상단에 다음을 붙여넣습니다.

Host *
  AddKeysToAgent yes
  UseKeychain yes

SSH 파일로 더 많은 작업을 수행할 수 있지만 config이 특정 구성은 다음에서 얻었습니다.Derik Ramirez의 이 블로그 게시물. ( AddKeysToAgentmacOS 이외의 플랫폼에서는 사용할 수 있지만 UseKeyChain에서는 작동하지 않습니다.)

SSH를 저장하려면 control-o를 입력한 다음 , 종료 하고 쉘 프롬프트로 돌아가려면 configcontrol-x를 입력하세요 . 새 SSH를 즉시 nano사용할 수 있어야 하며 config다음에 SSH 키 비밀번호를 입력할 때 해당 비밀번호가 로그인 키체인에 저장되어야 합니다(따라서 나중에 다시 입력할 필요가 없습니다).

관련 정보