su
사용자에 대한 권한이 있습니다 . 해당 디렉토리로 이동하여 에서 공개 SSH 키를 가져옵니다. 에도 추가했습니다.foouser
target.host
~/.ssh
id_rsa.pub
authorized_keys
ssh
다른 서버에서 활성화 하고 싶습니다 . 다른 서버로 가서 공개 키를 저장 /path/to/foouser.pub
하고 다음을 실행해 보았습니다.
ssh -i /path/to/foouser.pub[이메일 보호됨]
하지만 여전히 비밀번호를 묻는 메시지가 나타납니다. 왜? SSH 호스트의 foouser SSH 구성에서 변경해야 할 사항이 있습니까?
답변1
공개 키가 아닌 플래그와 함께 개인 키를 사용해야 합니다 -i
.
공개 키는 동일한 공개 키를 기반으로 다른 서버에서 보낸 질문을 통과할 수 없으므로(비대칭 암호화에서는 공개 키를 기반으로 한 질문에 응답하기 위해 개인 키를 사용해야 함) 키 인증이 실패하면 ssh
다른 ID가 계속해서 시도됩니다. 비밀번호를 포함한 방법.
비대칭 암호화가 작동하는 방식은 다음과 같습니다.사적인키는 유지됩니다사적인. 누구와도 공유해서는 안 되며, 생성된 호스트에서 복사해서도 안 됩니다. (물론 이메일로 보내면 안 됩니다!)
이것사람들열쇠는 어디로든 보낼 수 있습니다.
공개키로 암호화한 데이터는 개인키로만 복호화할 수 있고, 개인키로 암호화한 데이터는 공개키로만 복호화할 수 있다.
수학적으로 말하면 RSA 알고리즘에서는 두 키 중 하나를 비밀로 유지해야 한다는 점을 제외하면 두 키 사이에 기능적 차이가 없습니다. 그러나 실제 SSH 구현에서는 이 두 키가 구별되고 다르게 보이므로 다음을 확인하세요.
- 귀하의 공개 키(개인 키가 아님)가 대상 서버의 "인증된 키" 파일에 추가되고,
- 개인 키를 에 전달합니다
ssh -i
. (공개 키를 에 전달해도 문제가 되지 않습니다-i
. 작동하지 않습니다.)
당신이 공유한 적이 있다면사적인키를 누르거나 대상 서버에 복사합니다.새 키를 생성하고 이전 키를 삭제합니다.
방금 수행한 특정 단계를 더 자세히 살펴보았습니다. 백업하고 다시 시작해야 합니다. 이 시점에서 foouser
on의 키 쌍을 삭제 target.host
하고 여기에 넣은 인증된 키 파일에서 공개 키를 제거해야 합니다. 개인 키를 복사하지 마십시오.
알아채다SSH를 통한 액세스[이메일 보호됨]someother.host에서 오는 경우 foouser에 키 쌍이 필요하지도 않습니다.
무엇예키 쌍을 생성해야 합니다.someone.host에서사용자 수에 따라 SSH를 사용합니다.에서,그리고 당신은 넣어사람들쌍의 키는 ~foouser/.ssh/authorized_keys
계속 됩니다 target.host
.
단계별로 간단하게,하지만 지금 수행해야 하는 보안 정리 단계는 생략됩니다.개인 키를 복사했기 때문입니다. 연결을 설정하는 쉬운 방법:
- 존재하다
startserver.host
, 사용자로startinguser
실행합니다ssh-keygen
. 비밀번호를 설정할지 여부는 귀하에게 달려 있습니다. (비밀번호는 개인 키가 유출된 경우 추가 보안을 추가합니다.하다위협을 받고 있습니다. ) 기본 설정으로 키 쌍을 생성하라는 메시지가 표시될 때마다 Enter 키를 누르기만 하면 됩니다. cat ~/.ssh/id_rsa.pub
디스플레이 실행사람들열쇠.- 명령의 출력을 복사합니다.다른 호스트에게(
target.host
)에 추가하여~foouser/.ssh/authorized_keys
. - 에서
startserver.host
실행합니다. 깃발이 필요하지 않습니다.ssh [email protected]
-i
댓글에 답장:
개인 키를 절대 복사해서는 안 되는 경우,
ssh -i
개인 키가 필요할 때 어떤 이점이 있는지 설명해 주실 수 있나요?
호스트에서 키 쌍을 생성합니다.~에서ssh
다른 서버로 이동하고 싶습니다 .
귀하의 개인 키는 해당 서버에 남아 있으며 다른 곳으로 복사되지 않습니다. (백업에 있을 수도 있고 아닐 수도 있습니다. 하지만사용,다른 곳에서는 복사된 적이 없습니다. )
당신의사람들키는 로그인하려는 각 서버에 복사되며, 특히 해당 서버에 로그인할 수 있도록 하려는 사용자의 홈 디렉터리에 있는 파일에 추가됩니다 authorized_keys
..ssh
이 설정(기본값)에서는 그럴 필요가 없습니다 -i
. 그러나 여러 키 쌍이 있을 수 있습니다.자신의 컴퓨터에서다양한 목적(다른 서버 그룹)으로 사용합니다. 요점 -i
은 개인 키 ID를 읽을 대체 위치를 지정할 수 있다는 것입니다. 를 사용 cd ~/.ssh; mv id_rsa id_rsa.bak; mv id_rsa.other id_rsa
하거나 사용하지 않고 ssh ...
동일한 효과를 얻을 수 있습니다 -i
. 하지만 -i
그게 더 편리해요.