저는 서버에 로그인할 때 항상 SSH 키를 사용하기 때문에 실제 비밀번호가 무엇인지 잘 모르겠습니다. 몇 번 추측해 봐야 겠네요. 하지만 서버에 Fail2ban이 있어서 이를 실행하고 싶지 않습니다. 내 비밀번호 중 서버에서 허용하는 SSH 키에 해당하는 비밀번호를 확인할 수 있는 방법이 있나요?
어쨌든 ssh-key를 사용하여 로그인한 후 pass2ban을 실행하지 않고 비밀번호를 확인할 수 있나요?
답변1
아니요, 계정 비밀번호와 SSH 키 사이에는 아무런 관계가 없습니다.
비밀번호 없이도 이 키를 사용하여 SSH를 통해 계정에 로그인할 수 있습니다.
업데이트된 질문이 있는 경우 다음을 입력하십시오.
su YOURUSERNAME
아직 비밀번호가 기억나신다면 시도해 보세요.
답변2
SSH 키는 비밀번호와 완전히 독립적입니다. 키를 아는 것은 비밀번호를 찾는 데 도움이 되지 않습니다.
서버의 루트 사용자인 경우 비밀번호 해시를 얻을 수 있습니다. /etc/shadow
로컬 계정인 경우 해당 계정이 있거나 네트워크 데이터베이스(예: LDAP)에서 검색할 수 있습니다. Linux에서는 시도해 보세요 sudo getent shadow $USER
. 비밀번호 해시가 있으면 오프라인으로 사용해 볼 수 있습니다. 후보 비밀번호가 몇 개만 있는 경우 이 줄을 사용할 수 있습니다. 여기서 $6$stuff$more.stuff
두 번째로 :
구분된 필드는 다음과 같습니다 /etc/shadow
.
perl -l -pe '$_ = crypt $_, q:$6$stuff$more.stuff:'
보다 강력한 무차별 대입 공격이 필요한 경우 암호 공격을 유도하도록 설계된 소프트웨어를 찾으십시오. 나는 제안을 할 만큼 익숙하지 않습니다.
물론, 서버의 루트 사용자라면 비밀번호를 변경할 수도 있습니다.