![필요에 따라 ssh-agent에 SSH 키를 추가합니다.](https://linux55.com/image/149958/%ED%95%84%EC%9A%94%EC%97%90%20%EB%94%B0%EB%9D%BC%20ssh-agent%EC%97%90%20SSH%20%ED%82%A4%EB%A5%BC%20%EC%B6%94%EA%B0%80%ED%95%A9%EB%8B%88%EB%8B%A4..png)
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
. 프로토콜은 약간 단순화되었으며 다음과 같은 작업을 수행합니다.
키 관리 작업: 사용 가능한 키 추가, 삭제, 나열
메시지 작업: 서명, 암호화 등
ssh-add
일반적으로 첫 번째 것을 사용합니다 . 그러나 말했듯이 새로운 ssh
s도 추가됩니다. 요청 시 키 로드에 대해 묻는 경우: 사용 가능한 키 목록을 요청할 때 에이전트가 멋진 작업을 수행할 수 있습니다. 표준 구현에서는 모든 키를 미리 추가해야 하지만 데스크톱 환경 구현에서는 일부 지갑에 키가 있을 수 있습니다. 키 저장소 마스터 비밀번호로 보호되며 키를 처음 사용하려고 할 때 비밀번호를 묻는 메시지가 표시됩니다. (또는 키가 서로 다른 터미널 창 간에 공유된다는 뜻입니까? SSH_AUTH_SOCK
환경 변수를 모든 터미널에 넣는 것만으로 모든 터미널이 변수를 상속하도록 세션에서 에이전트를 시작하는 것이 가장 좋습니다.)