SSH 키를 생성할 때 cat
파일에 대한 명령을 사용했고 id_rsa.pub
내 계정의 호스트 이름/사용자 이름이 파일에 있음을 확인했습니다. 왜 이런 일이 발생합니까? 이것을 서버에 복사하면 여기에 있지 않습니까, 아니면 서버의 호스트 이름/사용자 이름이 되는 것이 합리적입니까? 그리고 SSH의 사용자 이름은 무엇입니까? 이 모든 것에 대해 내가 틀렸습니까? 내 프로세스는 다음과 같습니다.
mkdir ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
ssh-keygen
그런 다음 생성된 콘텐츠를 작성합니다. 키를 서버에 복사하면 됩니다 id_rsa.pub
.authorized_keys
답변1
SSH 공개 키의 마지막 필드는 주석입니다. 기본적으로 키가 미리 알림으로 생성되면 user@host 값으로 초기화됩니다. 편집하도록 선택할 수 있지만 키는 변경되지 않습니다. 이 주석은 인증에 영향을 주지 않으며 단지 여러 항목을 관리하는 데 도움이 됩니다.
~/.ssh/authorized_keys
원격 서버의 공개 키 위치가 여기에 영향을 미칩니다. 즉, 해당 파일에 있는 계정 에 대한 액세스를 허용합니다 . 개인 키를 보유하고 있어야만 원격 계정에 접근할 수 있습니다. 서버의 관점에서는 어떤 사용자가 계정에 액세스할 수 있는지에 대한 개념이 없습니다. 관련된 유일한 사항은 개인 키를 소유한 엔터티에서만 SSH 연결(ssh 키 사용)이 성공적으로 설정될 수 있다는 것입니다. 개인 키가 다른 곳에 복사되거나 도난당하더라도 아무런 영향을 미치지 않습니다. 다른 사용자 및/또는 시스템에서 SSH 키를 통해 이 계정에 액세스해야 하는 경우 개인 키를 복사하지 말고 각 위치에 대한 개인 키를 생성하여 파일에 추가하면 authorized_keys
건강과 안전이 더 좋아질 것입니다.
귀하의 방법은 좋아 보이지만(이 작업도 수행해야 할 수도 있음 chmod 700 ~/.ssh
) 원격 계정에 대한 공통 비밀번호 액세스 권한도 있는 경우 SSH 키를 복사하는 가장 쉬운 방법은 다음을 사용하는 것입니다.ssh-copy-id
주문하다. 예를 들어 기본 키를 다음 위치에 복사합니다.원격 사용자계정원격 서버:
ssh-copy-id remoteuser@remoteserver
그러면 자동으로 원격 계정의 authorized_keys
파일에 키가 추가됩니다(또는 키가 없는 경우 올바른 액세스 권한으로 키를 생성합니다).