키체인에서 id_rsa.pub가 누락되었다고 표시하는 이유는 무엇입니까?

키체인에서 id_rsa.pub가 누락되었다고 표시하는 이유는 무엇입니까?

내가 읽고 있어요이 기사Duplicity에서 무인 백업 설정에 대해 설명합니다.

저는 7.2라는 부분에 있습니다. SSH 키캐싱

내 루트에 다음을 추가했습니다..bash_profile

keychain --clear id_rsa 
. /root/.keychain/www-sh

기사키체인이 시작되어야 하며 이 시점에서 개인 키(/root/.ssh/id_rsa)에 대한 암호를 묻는 메시지가 표시됩니다.

여기서는 예상한 결과를 얻지 못합니다. 키체인이 실제로 시작되지만 이 시점에서 몇 가지 경고가 표시됩니다.

KeyChain 2.6.8; http://www.gentoo.org/proj/en/keychain/
Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL

 * Found existing ssh-agent (2014)
 * ssh-agent: All identities removed.
 * Warning: /root/.ssh/id_rsa.pub missing; can't tell if /root/.ssh/id_rsa is loaded

root@www:~# 

나는 이것에 대한 언급을 발견했습니다.젠투 포럼그러나 스레드 사용자는 키체인이 공개 키를 요구하는 이유에 대해 의아해하는 것 같고 id_rsa.pub키체인이 공개 키를 요구하는 이유를 아는 사람이 있는지 궁금합니다.

답변1

나는 키체인의 내부 작동에 대한 지식이 없다는 점을 자유롭게 인정합니다. 그러나 로컬 SSH 에이전트가 자신이 가지고 있는 개인 키에 해당하는 공개 키를 갖고 있지 않다는 사실에 화를 내는 것은 완전히 합리적입니다.

인증을 위해 원격 서버에 접근하면 어떤 일이 발생하는지 생각해 보세요. 원격 서버는 authorized_keys파일을 통해 각 항목에 해당하는 개인 키가 있음을 증명할 수 있는 클라이언트를 수락할 준비가 되었음을 알고 있습니다. 하지만 클라이언트에게 어떻게 이를 요청합니까? 각 개인 키 자체나 해당 속성이 없기 때문에 이를 제공할 수 없습니다. 할 수 있는 일은 공개 키나 그 지문을 제시하는 것뿐입니다.

클라이언트가 이러한 공개 키 중 하나를 가지고 있는 경우 즉시 일치하는 개인 키를 선택하고 서버가 올바른 것으로 받아들일 응답을 할 수 있습니다. 공개 키가 없으면 어떻게 해야 합니까? 레퍼토리에 있는 모든 개인 키를 차례로 시도해 보시겠습니까? 안전하지 않은 정보 공개를 위한 더 나은 방법은 거의 상상할 수 없습니다. 블랙 해커는 키링의 모든 키에서 합법적인 응답을 수집하기 위해 하나의 새로운 연결에 대해 중간자 공격을 설정하기만 하면 됩니다.

키 쌍에 일종의 내부 번호가 지정되어 있을 수도 있지만 이는 완전히 임의적이며 이에 의존하는 것은 현명하지 않습니다. 개인 키와 공개 키를 함께 묶는 보장된 내부 속성은 없습니다. 키 쌍의 키가 공유하는 것이 없기 때문에 하나가 다른 키의 작업을 취소할 수 있는 유일한 엔터티라는 점만 제외하면 됩니다.

아니요, 클라이언트가 특정 서버에 사용할 올바른 개인 키를 선택하는 가장 좋은 방법은 키 선택에 도움이 되는 일치하는 공개 키를 갖는 것입니다.

답변2

내 생각 keychain엔 헬퍼( ssh)인 프로그램보다 더 안전해지려고 노력하는 것 같아요.

현재 OpenSSH 버전에서는 공개 키 파일이 없어도 ssh-agent개인 키를 추가할 수 있습니다 . ssh-add이 작업을 수행하면 성공 여부를 확인할 수 있으며 ssh-add -l개인 키 파일 이름도 나열됩니다. ssh둘 이상의 ID를 사용할 수 있는 경우에도 캐시된 키를 사용하여 연결합니다. 차례로 시도해 보는 것은 문서에 명시적으로 언급되어 있습니다.

$ ssh -V
OpenSSH_7.2p2, OpenSSL 1.0.2g  1 Mar 2016
$ man ssh_config
...
     IdentityFile
      ...
             It is possible to have multiple identity files speci‐
             fied in configuration files; all these identities
             will be tried in sequence.  Multiple IdentityFile
             directives will add to the list of identities tried
             (this behaviour differs from that of other configura‐
             tion directives).
      ...

AddKeysToAgent옵션 을 사용하는 것이 가장 좋다고 생각합니다 ssh. 가능한 경우 세션에서 처음으로만 암호를 요구합니다 ssh-agent. 당신은 .bashrc단지 추가 할 수 있습니다eval $(keychain --eval --noask)

관련 정보