필요에 따라 ssh-agent에 SSH 키를 추가합니다.

필요에 따라 ssh-agent에 SSH 키를 추가합니다.

ssh-add각 키 추가를 호출하는 대신 ssh가 요청할 때 이러한 키를 자동으로 추가할 수 있습니까 ? ssh-agent데스크톱 환경을 통해서도 에이전트를 시작하시겠습니까?

편집하다:gnome-keyring-daemon데스크톱 환경에서 시작된 에이전트(예: 파생)와 명령줄에서 시작된 에이전트(이 동작을 "추가")의 차이점은 무엇입니까?

Mate 세션(Linux Mint)에서는 ssh가 에이전트에 첫 번째 키를 추가하자마자 새 프로세스가 나타나고 SSH_AUTH_SOCK은 해당 프로세스를 가리키는 것으로 나타나지만 "ssh" 앞에 점(".ssh")이 있습니다. "ssh" 대신 이름). 프로세스는 "gnome-keyring-daemon"에 의해 시작됩니다. 아래 스크린샷에서 프로세스 PID를 확인하세요.

여기에 이미지 설명을 입력하세요.

답변1

최신 버전 ssh(2016년 초에 출시된 7.2 이상)에는 다음과 같은 작업을 수행하는 AddKeysToAgent 옵션이 있습니다.

에이전트에 키 추가

ssh-agent(1) 실행에 키를 자동으로 추가할지 여부를 지정합니다. 이 옵션을 yes로 설정하고 키가 파일에서 로드되면 ssh-add(1)를 통해와 마찬가지로 키와 해당 암호가 기본 수명으로 에이전트에 추가됩니다. 이 옵션이 질문으로 설정된 경우 ssh(1)은 키를 추가하기 전에 SSH_ASKPASS 프로그램을 사용하여 확인을 요구합니다(자세한 내용은 ssh-add(1) 참조). 이 옵션이 확인으로 설정된 경우 ssh-add(1)에 -c 옵션이 지정된 것처럼 키를 사용할 때마다 확인해야 합니다. 이 옵션을 no로 설정하면 에이전트에 키가 추가되지 않습니다. 매개변수는 예, 확인, 질문 또는 아니오(기본값)여야 합니다.

행동 차이에 대해서는 ssh-agent다음과 같이 합의합니다 .표준, 이는 다음과 같이 요약됩니다. 클라이언트( ssh, 또는 ssh-add또는 관심 있는 다른 사람)는 환경 변수를 보고 누구와 대화해야 하는지를 알 수 있습니다 SSH_AUTH_SOCK. 프로토콜은 약간 단순화되었으며 다음과 같은 작업을 수행합니다.

  1. 키 관리 작업: 사용 가능한 키 추가, 삭제, 나열

  2. 메시지 작업: 서명, 암호화 등

ssh-add일반적으로 첫 번째 것을 사용합니다 . 그러나 말했듯이 새로운 sshs도 추가됩니다. 요청 시 키 로드에 대해 묻는 경우: 사용 가능한 키 목록을 요청할 때 에이전트가 멋진 작업을 수행할 수 있습니다. 표준 구현에서는 모든 키를 미리 추가해야 하지만 데스크톱 환경 구현에서는 일부 지갑에 키가 있을 수 있습니다. 키 저장소 마스터 비밀번호로 보호되며 키를 처음 사용하려고 할 때 비밀번호를 묻는 메시지가 표시됩니다. (또는 키가 서로 다른 터미널 창 간에 공유된다는 뜻입니까? SSH_AUTH_SOCK환경 변수를 모든 터미널에 넣는 것만으로 모든 터미널이 변수를 상속하도록 세션에서 에이전트를 시작하는 것이 가장 좋습니다.)

관련 정보