SSH 문제를 디버깅하려고 하다가 비밀번호를 다시 시도하기 전에 SSH가 많은 수의 키를 제공한다는 Too many authentication failures
사실을 발견했습니다 .ssh -vv
몇 가지 조사 끝에 X11이 시작될 때 이 키들이 어떻게든 추가되었다는 것을 알게 되었습니다 ssh-agent
.startx
내 디렉토리에는 수년에 걸쳐 많은 시스템 업데이트를 통해 전송된 다양한 시스템에 대한 많은 ~/.ssh
키가 있습니다. 실행되고 있는 줄도 몰랐습니다 ssh-agent
.
내 생각에 매뉴얼 페이지에 따르면 , 및 만 ssh-add
기본적으로 추가됩니다 . 하지만 비밀번호를 제공하려고 할 때마다 로그인 세션마다 , , , , , 및 모든 것을 추가 하고 렌더링 합니다 . 따라서 서버의 sshd는 충분하다고 판단하고 연결을 끊습니다.id_dsa
id_rsa
identity
BillBrewer.pub
JanStewer.pub
PeterGurney.pub
PeterDavy.pub
DanlWhiddon
HarryHawke.pub
OldUncleTomCobley.pub
이 동작을 어떻게 제어할 수 있나요? .ssh 디렉터리에서 중복된 공개 키를 제거하고 필요한 개인 키만 유지하는 것 외에도 이를 보관하기에 편리한 장소였습니다.
그렇다면 원하는 경우 ssh-agent 실행을 어떻게 중지합니까?
이것이 보안 문제입니까(키를 가져오지 말아야 하는 서버에 키를 보내는 것)?
세션별로 이를 재정의할 수 있다는 것을 알고 있지만 -o PreferredAuthentications=password
시스템 복구를 선호합니다.
ssh-add -D
심지어 낯선 사람: 또는 을 사용하여 모든 ID를 제거하려고 시도했지만ssh-add -d *.pub
을 사용할 때 여전히 남아 있습니다ssh-add -l
.
CentOS 버전 6.5, OpenSSH_5.3p1, openssh-clients-5.3p1
답변1
첫째, 키는 원격 서버가 아닌 클라이언트를 식별해야 합니다. 따라서 적은 수의 키(예: 1)만 있어야 합니다.
ssh-agent
공식 유틸리티 자체 는 키(및 . 그러나 .NET 외에도 다른 SSH 키 에이전트가 있습니다. 예를 들어 키링 데몬을 실행 중일 수 있습니다. 키링 데몬은 기본적으로 데스크탑 환경에서 시작될 수 있습니다. 데스크톱 환경 세션 설정을 확인하여 끄세요.~/.ssh/id_rsa
~/.ssh/id_dsa
~/.ssh/id_ecdsa
~/.ssh/identity
ssh-agent
gnome-keyring-daemon
IdentitiesOnly=yes
파일 을 넣을 수도 있지만 ~/.ssh/config
그것이 "올바른" 대답은 아니라고 생각합니다.
서버에 추가 키를 보내는 것과 관련하여. 아니요, 이는 어떤 종류의 보안 위험도 아닙니다.