ssh -vv -D 1618 -C -N someserver
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering public key: /home/ubuntu/.ssh/id_rsa RSA SHA256:xxx agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: [email protected] RSA SHA256:180K+xxx agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: [email protected] ED25519 SHA256:xxxy agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: x-production-eb-key-pair RSA SHA256:xxxy+1ZNflh/xxxy agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: [email protected] RSA SHA256:/yG/xxxz+2eWo agent
debug2: we sent a publickey packet, wait for reply
debug1: Authentications that can continue: publickey
debug1: Offering public key: [email protected] ED25519 SHA256:xxxv agent
debug2: we sent a publickey packet, wait for reply
Received disconnect from 10.240.0.1 port 22:2: Too many authentication failures
위의 키 중 일부를 제거했지만 ~/.ssh/*
여전히 사람들이 시도하고 있습니다. 어떻게 이것이 가능합니까?
답변1
SSH 에이전트가 실행 중이므로 계속 키를 사용할 수 있습니다. 분명히 여러 개인 키 ID가 추가되었습니다. 추가된 ID는 메모리에 유지됩니다. 일반 파일(예: 디스크의 개인 키)에서 추가된 ID는 나중에 해당 파일을 사용할 필요가 없으며 다른 시스템에서 키를 "빌릴" 수도 있습니다.예). 파일 시스템에서 특정 키를 제거해도 이미 ID가 로드된 SSH 에이전트에는 영향을 미치지 않습니다.
agent
줄 끝에 있는 단어는 다음과 같습니다.
debug1: Offering public key: /home/ubuntu/.ssh/id_rsa RSA SHA256:xxx agent
사용자를 인증하려는 시도에는 파일이 아닌 프록시가 관련되어 있음을 나타냅니다. …/.ssh/id_rsa
이는 ID를 추가할 때 사용된 파일만 의미하며 파일이 아직 존재할 수도 있고 존재하지 않을 수도 있으며 중요하지 않습니다.
이와 같은 프로그램은 ssh
소켓을 통해 프록시와 통신할 수 있습니다. 이라는 환경 변수를 확인하여 소켓 경로를 찾을 수 있습니다 SSH_AUTH_SOCK
. ssh
쉘에서 환경을 상속받습니다 . echo "$SSH_AUTH_SOCK"
쉘에서 실행 하면 소켓 경로가 표시됩니다.
ssh-add -l
또는를 실행하여 ssh-add -L
현재 에이전트가 누구를 대표하는지 확인하세요.
브로커에서 ID 제거를 사용할 수 있지만 ssh-add -d /path/to/key
이를 위해서는 제거하려는 ID의 (개인 또는 공개) 키 파일 경로를 지정해야 합니다. 삭제하려는 ID를 지정하는 파일이 더 이상 없으면 모든 ID를 삭제한 ssh-add -D
다음 삭제하고 싶지 않은 ID를 다시 추가하는 것이 좋습니다. 를 실행하여 키를 (다시) 추가할 수 있습니다 ssh-agent /path/to/key
.
바라보다man 1 ssh-add
더 알아보기.
ssh
비어 있거나 설정 없이 실행하면 SSH_AUTH_SOCK
에이전트와 통신할 수 없습니다.
# empty
SSH_AUTH_SOCK= ssh …
# unset
env -u SSH_AUTH_SOCK ssh …
이는 프록시 상태를 변경하지 않고 나중에 프록시 사용 기능을 잃지 않고 요청 시 프록시를 무시하려는 경우에 유용합니다.