내 요청은 간단합니다. 서버에 SSH 키 쌍(공개 및 비공개)을 생성했습니다."ㅏ". 이제 AWS IAM에 퍼블릭 SSH 키를 업로드하고 SSH를 통해 CodeCommit 리포지토리에 연결하기 위한 SSH 키 ID를 생성했습니다. SSH 키 ID 값과 서버 "A"의 개인 키 파일 경로를 업데이트 한 후 ".ssh/config"
저장소에 성공적으로 연결할 수 있어야 했고 그렇게 할 수 있었습니다. 이제 내 요구 사항은 다른 서버에서 저장소에 연결하려고 할 때입니다."비"(개인 키가 서버로 전송되었고 파일이 .ssh/config
서버 "A"와 동일하게 업데이트되었습니다.) 연결할 수 없어야 합니다. 즉, 키 쌍은 생성된 서버에서만 작동해야 하며 다른 서버로부터의 연결은 허용되지 않습니다. 가능합니까? 인터넷 검색을 해보니 믿을만한 내용을 찾을 수 없습니다.
답변1
authorized_keys
원격 장치가 공통 파일을 사용하는 경우 괜찮습니다.
이것sshd(8)
매뉴얼 페이지authorized_keys
파일 형식에 대해 설명합니다 . 이 파일에는 다양한 옵션이 있으며 그 중 하나는 다음과 같습니다.
from="pattern-list"
공개 키 인증 외에도 원격 호스트의 정식 이름이나 IP 주소가 쉼표로 구분된 패턴 목록에 표시되어야 함을 지정합니다. 패턴을 참조하세요.
ssh_config(5)
패턴에 대한 추가 정보.
따라서 이러한 라인은 다음에서만 액세스를 허용합니다 hosta.example.org
.
from="hosta.example.org" ssh-rsa AAAA...== [email protected]
두 클라이언트 호스트 A와 B에 대해 서로 다른 키를 생성하지 않는 이유는 확실하지 않습니다. 이렇게 하면 어떤 호스트가 어디에 액세스할 수 있는지 제어하기가 매우 쉬워집니다. 키는 호스트에 연결됩니다.
답변2
서버의 B SSH 구성에 개인 키를 추가했기 때문에 이는 불가능합니다. 그러나 하나의 IP에서만 SSH 연결을 허용하는 방화벽 규칙과 같은 다른 방법으로 서버 A에 대한 액세스를 제한할 수 있습니다.