ssh-copy-id 및 수동 복사 id_rsa.pub

ssh-copy-id 및 수동 복사 id_rsa.pub

날마다 우리 회사 서버에서 SSH 비밀번호를 묻기 시작했습니다.

가장 먼저 확인한 것은 내 키가 .ssh/authorized_keys서버 내에 있는지 확인하는 것이었습니다. 내 열쇠는 안에 있고 아무것도 바뀌지 않았습니다. 아무것도 바뀌지 않았습니다 /etc/ssh/sshd_config.

그럼 나는 ~하려고 노력한다이 앱새로 설치된 Ubuntu16 서버에서. 이 5단계를 완료한 후 새 서버에서 SSH 비밀번호를 다시 요청했습니다.

ssh-copy-id명령은 마침내 키 없는 SSH 로그인을 완료했지만 3개의 줄이 있다는 것을 알았습니다 .ssh/authorized_keys. 하나는 다음으로 시작 ssh-dss하고 두 개는 다음으로 시작합니다 .ssh-rsa

이제 나는 위 링크의 5단계 절차가 하나의 키로만 작동했던 것을 기억합니다.

최근에 달라진 점이 있나요? 위 프로세스가 더 이상 작동하지 않는 이유는 무엇입니까?

편집: ssh-copy-id총 3개의 키가 .ssh/authorized_keys이 키에 복사되었으므로 다음 파일에서 찾을 수 있습니다.

~/.ssh/id_dsa

~/.ssh/sshkey.pub

~/.ssh/id_rsa.pub

.ssh/authorized_keys그래서 원격 파일에서 한 줄씩 삭제합니다.

행 삭제 ~/.ssh/id_dsa- 자동 로그인 성공

행 삭제 ~/.ssh/id_rsa.pub- 자동 로그인 성공

삭제된 ~/.ssh/sshkey.pub행 - 자동 로그인아니요성공 - 비밀번호 필요

의 내용만 ~/.ssh/sshkey.pub필요합니다. SSH가 비교적이고 온라인 튜토리얼의 예 sshkey.pub와 다른 이유는 무엇입니까 ?id_rsa.pub

답변1

ssh-copy-id이건 그냥 편의기능인거 같네요 . 키가 컴퓨터로 내보내졌는지 확인하고 .ssh필요한 경우 디렉토리를 생성하지만 기본적으로 공개 키를 .ssh/authorized_keys.openssh ssh-copy-id의 쉘 스크립트에 추가하므로 vi `which ssh-copy-id`끝에서 해당 코드를 읽을 수 있습니다( ).

[ "$DRY_RUN" ] || printf '%s\n' "$NEW_IDS" | \
  ssh "$@" "exec sh -c 'cd ; umask 077 ; mkdir -p .ssh && { [ -z "'`tail -1c .ssh/authorized_keys 2>/dev/null`'" ] || echo >> .ssh/authorized_keys ; } && cat >> .ssh/authorized_keys || exit 1 ; if type restorecon >/dev/null 2>&1 ; then restorecon -F .ssh .ssh/authorized_keys ; fi'" \
  || exit 1

인증 시에만 authorized_keys확인됩니다 . openssh에서문서:

~/.ssh/authorized_keys 파일에는 로그인이 허용된 공개 키가 나열되어 있습니다. 사용자가 로그인하면 ssh 프로그램은 인증에 사용할 키 쌍을 서버에 알려줍니다. 클라이언트는 개인 키에 대한 액세스 권한이 있음을 증명하고 서버는 해당 공개 키가 계정을 수락할 권한이 있는지 확인합니다.

이것이 "ssh-copy-id와 id_rsa.pub 수동 복사"라는 제목의 질문에 대한 답변이 되기를 바랍니다. ~/.ssh/sshkey.pub문서가 없으므로 직접 설정을 알아내시기 바랍니다. 어쨌든 그렇습니다. 공개 키를 authorized_keys사용하지 않으 려면 수동으로 복사할 수 있습니다 ssh-copy-id.

UPD: 2020(OpenSSH 8.2)RSA SHA-1 키는 더 이상 사용되지 않습니다.. 대안을 사용해야 합니다(링크 참조).

관련 정보