"ssh-add -d"는 ID 삭제를 거부합니다.

"ssh-add -d"는 ID 삭제를 거부합니다.

개인 키 비밀번호(id_rsa)를 잊어버리려면 일반적으로 다음을 실행합니다.

ssh-add -D # to forget all loaded identities
ssh-add -d # to forget primary identity ($HOME/.ssh/id_rsa)

이제 macOS Sierra v10.12.1을 사용하면 다음 오류가 발생합니다.

$ ssh-add -D
All identities removed.
$ ssh-add -d
Could not remove identity "/Users/user/.ssh/id_rsa": agent refused operation
Could not remove identity "/Users/user/.ssh/id_dsa": agent refused operation

나는 운없이 구글을 검색했다!

답변1

시에라와 나도 같은 문제를 안고 있다. 삭제 id_rsa한 다음 $HOME/.ssh/다시 시작해 보세요(저도 id_rsa.pub삭제했습니다. 따라서 두 개의 키가사적인그리고사람들). 그것은 내 문제를 해결했습니다.

답변2

내 경우에는 약간 다른 문제가 발생했습니다. ssh-add -D프록시를 호출하면 성공하고 응답하는 것처럼 보이지만 All identities removed.실제로 프록시 키를 나열할 때 ssh-add -l원치 않는 키가 계속 나열되며 물론 프록시를 사용하여 원격 호스트에 인증하려고 하면 핀을 사용하라는 메시지가 표시됩니다. 원하지 않는 키에 암호를 설정하도록 구성한 프로그램입니다. 짜증 나는.

문제의 원인은 내 gpg-agent 데몬이 다음 경로 아래의 파일에 키를 캐시했기 때문입니다 ~/.gnupg/sshcontrol.

$ cat ~/.gnupg/sshcontrol
# List of allowed ssh keys.  Only keys present in this file are used
# in the SSH protocol.  The ssh-add tool may add new entries to this
# file to enable them; you may also add them manually.  Comment
# lines, like this one, as well as empty lines are ignored.  Lines do
# have a certain length limit but this is not serious limitation as
# the format of the entries is fixed and checked by gpg-agent. A
# non-comment line starts with optional white spaces, followed by the
# keygrip of the key given as 40 hex digits, optionally followed by a
# caching TTL in seconds, and another optional field for arbitrary
# flags.   Prepend the keygrip with an '!' mark to disable it.

# RSA key added on: 2021-06-03 16:23:25
# Fingerprints:  MD5:c1:[elided]:24
#                SHA256:+Mj[elided]E4
21[elided]C9 0
# Ed25519 key added on: 2021-06-03 22:11:36
# Fingerprints:  MD5:[elided]:24:da
#                SHA256:EL[elided]Zs
E0[elided]47 0

이 키를 제거하면 ~/.gnupg/sshcontrol더 이상 사용하지 않는 키에 대한 비밀번호를 묻는 에이전트 없이 gpg-agent를 사용하여 원격 호스트에 인증할 수 있게 되었습니다.

답변3

참조된 ID가 추가된 ID와 다를 때 이 오류가 발생했습니다. 이 -d옵션은 특정 키를 삭제합니다. 키가 로드된 적이 없으면 삭제가 거부됩니다. 로드된 키를 확인 ssh-add -l하고 조표를 확인할 수 있습니다.ssh-keygen -lf <path-to-private-key>

답변4

Ubuntu 18.04에 여전히 이 버그가 있음을 발견했습니다.

큰 노력 없이 ssh-agent에서 원치 않는 키를 제거하는 간단한 방법은 다음과 같습니다.

  1. 삭제하려는 키를 찾으세요

    ssh-add -l
    2048 SHA256:qzJYF7AJAJsLsJn7ZFPcJ+w78ZJVoPZI9TzXCq2cf5 .ssh/bad-key.pem (RSA)
    
  2. ~/.ssh 디렉터리로 이동하여 "disabled"라는 이름의 하위 디렉터리를 만듭니다.

    cd ~/.ssh
    mkdir disabled
    
  3. 비활성화할 키를 이 디렉터리로 이동합니다.

    mv bad-key.pem disabled/
    

그게 다야. 이 키는 더 이상 ssh-agent에서 사용할 수 없지만 필요한 경우 계속 보유하고 다시 추가할 수 있습니다.

관련 정보